可能重复:
jquery v1.3.2 find element by attribute
Is it possible to grab a link by its href if it doesn’t have a class or ID?
我的问题围绕着一个元素的属性(不能使用ID,因为我可以'确定那些将是唯一的) -
例如,我有这个:<a href="someurl.com">Link</a>
但我可以动态注入,并且我可能有一种可行/快速/有效的方式在dom中引用它(请记住,会有很多这样的链接)。
<a href="someurl.com" data-access-label="000998">Link</a>
所以,如果这样做快速/有效,我会通过哈希重复并好奇吗?
data = {
'98789' : 'yeah',
'871637':'cool',
'00198789' : 'sure thing',
'871609':'no way',
'000998':'alright'
}
所以,对我而言似乎效率低下。然后通过所有链接然后找到数据访问标签值,然后是什么?我可以绑定那些hrefs或者什么东西,这样一旦我运行我的函数 - 它看起来像这样
<div>
<a href="someurl.com" data-access-label="000998">Link</a> alright
<span> <a href="someurl.com" data-access-label="871637">Link</a> cool</span>
</div>
在任何给定时间,数据哈希中只有40个项目,所以也许我可以通过它“.ee”,并将密钥与那些数据访问标签中的值匹配?但我的想法可能是直接访问该项目,而不是通过href重复。
答案 0 :(得分:4)
使用jQuery的attribute selector:
var link = $('[data-access-label*="' + identifier + '"]');
alert(link.text());
答案 1 :(得分:2)
$( “一个[数据访问标签]”)
这将返回具有该属性的所有元素的数组。
然后,您可以调用.each()进行进一步处理。
答案 2 :(得分:0)
$("a").each(function(i) {
if (typeof $(this).attr('name') !== 'undefined' && $(this).attr('name') !== false) {
// do work
};
})
OR
$("a").each(function(i) {
if (typeof $(this).data('access-label') == "000998") {
// do work
};
})
OR
$('[data-access-label*="' + indexValue + '"]').click(function(e) { /* do work */ });