JQuery,为<;设置属性;a>;标签
我正在使用$(expr).attr(“hash”,value)为HTML锚元素“a”设置一个“hash”属性 但是Jquery不会这样做。但如果我将expr改为“div”,那么我可以设置 “div”标记的“hash”属性JQuery,为<;设置属性;a>;标签,jquery,attributes,Jquery,Attributes,我正在使用$(expr).attr(“hash”,value)为HTML锚元素“a”设置一个“hash”属性 但是Jquery不会这样做。但如果我将expr改为“div”,那么我可以设置 “div”标记的“hash”属性 这种行为是xhtml规范吗?我可以设置“a”标记属性的“id”。因为id是html“a”标记的内置属性 可能您的问题是,标记没有任何散列属性。可能您正在查找name属性,或者您希望更改链接href中的哈希值,在这种情况下,您必须解析链接文本并使用正则表达式替换哈希值 为HTML
这种行为是xhtml规范吗?我可以设置“a”标记属性的“id”。因为id是html“a”标记的内置属性 可能您的问题是,
标记没有任何散列
属性。可能您正在查找name
属性,或者您希望更改链接href
中的哈希值,在这种情况下,您必须解析链接文本并使用正则表达式替换哈希值
为HTML锚元素“a”设置“哈希”属性
元素(htmlinkElement)已具有DOM级别0hash
属性。它与window.location.hash一样用于读取或设置元素的href
引用的URL末尾的“…#锚定”部分
设置a.hash
,无论是直接设置还是通过jQuery的attr()
包装器设置,都只是在链接的URL中设置锚名称。您可以通过调用DOM方法a.setAttribute('hash',value)
故意说您想要一个实际的属性,但这在IE6/7中不起作用,因为它会混淆属性和属性
这是向元素添加自定义非标准属性的问题之一,您永远不知道它何时会与现有名称冲突。HTML5会建议您将自定义属性限制为以“data-”开头的名称,但一般来说,如果可以的话,最好找到另一种存储数据的方法。另一种设置哈希的选项。这仅适用于表达式返回元素的情况。这是因为哈希是实际dom元素的属性
$(expr).each(function() {
this.hash = value;
});
如果您需要测试它是否是一个标记,请使用此
$(expr).is('a').each(function() {
this.hash = value;
});
如果您确实想要附加一些自定义属性,我建议使用data方法添加值
$(expr).data('myHash', value);
如果您发布了实际使用的HTML和jQuery,可能会有所帮助。