我使用$(expr).attr("hash",value)为HTML锚元素"a"设置"哈希"属性,但Jquery不会这样做.但如果我将expr更改为"div",那么我可以将"hash"属性设置为"div"标签.
这个行为是xhtml规范吗?我可以设置"a"标签属性的"id".因为id是html"a"标签的内置属性.
bob*_*nce 14
为HTML锚元素"a"设置"哈希"属性
<a>元素(HTMLLinkElement)已具有DOM Level 0 hash属性.它像window.location.hash一样用于读取或设置元素引用的URL末尾的"...#anchor"部分href.
a.hash无论是直接设置还是通过jQuery的attr()包装器设置,只需在链接的URL中设置锚名称.您可以通过调用DOM方法故意说您想要一个实际的属性a.setAttribute('hash', value),除了这在IE6/7中不起作用,因为它会混淆属性和属性的长期错误.
这是向元素添加自定义非标准属性的问题之一,您永远不知道它何时会与现有名称冲突.HTML5会建议您将自定义属性限制为以"data-"开头的名称,但一般来说,如果可以的话,最好找到另一种存储数据的方法.
可能你的麻烦是标签没有任何hash属性<a>.也许您正在寻找name属性,或者您可能想要更改链接中的哈希值href,在这种情况下,您将不得不解析链接文本并使用正则表达式替换哈希值.
| 归档时间: |
|
| 查看次数: |
54820 次 |
| 最近记录: |