Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery,为<;设置属性;a>;标签_Jquery_Attributes - Fatal编程技术网

JQuery,为<;设置属性;a>;标签

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

我正在使用$(expr).attr(“hash”,value)为HTML锚元素“a”设置一个“hash”属性 但是Jquery不会这样做。但如果我将expr改为“div”,那么我可以设置 “div”标记的“hash”属性


这种行为是xhtml规范吗?我可以设置“a”标记属性的“id”。因为id是html“a”标记的内置属性

可能您的问题是,
标记没有任何
散列
属性。可能您正在查找
name
属性,或者您希望更改链接
href
中的哈希值,在这种情况下,您必须解析链接文本并使用正则表达式替换哈希值

为HTML锚元素“a”设置“哈希”属性

元素(htmlinkElement)已具有DOM级别0
hash
属性。它与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,可能会有所帮助。