我需要的是:
jQuery("a[anyAttributeName='something']");
我知道如何使用常规javascript ...
问题:
有没有办法只使用jQuery 选择器?
例如: 你有元素[ href ='value'],b [ title ='value'],c [ src ='value']
我想通过使用1个jQuery选择器查找任何属性具有值的元素......
我不想做那样的事情 $(“a [href ='value'],b [title ='value'],c [scr ='value']”) 因为我有1k个元素。
答案 0 :(得分:3)
您可以使用过滤器执行您想要的操作:
$('a').filter(function(){
for(var i = 0, l = this.attributes.length; i < l; i++)
if(this.attributes[i].nodeValue === 'something')
return this;
});
要将其用作选择器,您需要自己创建它:
jQuery.extend(jQuery.expr[':'], {
value: function(a, _, v) {
for(var i = 0, l = a.attributes.length; i < l; i++)
if(a.attributes[i].nodeValue === v[3])
return true;
return false;
}
})
然后像这样使用它:
$('div:value(test)');
答案 1 :(得分:0)
答案 2 :(得分:0)
答案是
$("[anyAttributeName='something']")