我没有找到任何示例如何使用 jQuery 读取不显眼的数据。例如下面
<a id="deleteFile" href="" data="123">Delete file</a>
我想data
从元素中读取属性。怎么做?
我没有找到任何示例如何使用 jQuery 读取不显眼的数据。例如下面
<a id="deleteFile" href="" data="123">Delete file</a>
我想data
从元素中读取属性。怎么做?
您应该使用data-*
where*
是您想要使用的密钥:
<a id="deleteFile" href="" data-file-id="123">Delete file</a>
然后你可以阅读:
$('#deleteFile').data('fileId');
您会注意到该属性已自动转换为该属性file-id
以fileId
符合规范。还应注意,jquery 将尝试将值转换为其 javascript 本机类型。这意味着该访问的值将是一个 javascriptNumber
而不是 s 字符串。如果您有前导0
,这可能会产生影响,因为01
将转换为1
. 如果您明确需要将值作为字符串,请使用attr
:
$('#deleteFile').attr('data-file-id');
您还应该注意,在使用时,attr
您按原样提供完整的属性名称,而不仅仅是 camelCase 中的数据属性名称。
最好的方法是只获取元素属性
$('#deleteFile').attr('data');
如果您使用新的 jquery 库版本(我相信高于 1.6),您还可以使用带有 jQuery 的 HTML5 数据属性data()
。将您的锚链接更改为类似
<a id="deleteFile" href="" data-fileid="123">Delete file</a>
那么你可以使用
$('#deleteFile').data('fileid');
但是不要互换使用它们,只使用一种方法,否则您以后可能会遇到问题,因为 jQuerysdata()
只会读取数据属性然后将它们存储在内部缓存中。如果您通过 更改任何内容data()
,则不会更改实际的标签属性含义data()
,并且attr()
此后将返回不同的结果
最好像这样定义数据属性:
<a id="deleteFile" href="" data-id="123">Delete file</a>
然后你可以阅读它:
var id = $('#deleteFile').data('id');
在这种情况下使用这并不是一个好主意attr
。