如何查找具有特定数据属性的所有标签?

时间:2016-07-11 12:33:05

标签: javascript jquery jquery-selectors attributes

我需要找到所有使用jQuery绑定到它们的“错误”数据的标签。 这就是我所做的。它没有用,因为我在数据属性中添加了代码。

$('form input').data('error',1);

console.log( $('form input[data-error]') ); // This is empty

如何检索所有这些?

2 个答案:

答案 0 :(得分:4)

使用filter()

$('form input').filter(function(){
     return $(this).data('error'); // adjust if boolean not sufficient    
}).doSomething();

答案 1 :(得分:0)

您可以使用本机JavaScript(不需要jQuery),只需使用:

带有Document.querySelectorAll()(类似于CSS)的

Selectors Level 3

var elms = document.querySelectorAll('[data-animal-type="fish"]');
console.log(elms.length);
<li data-animal-type="bird">Owl</li>
<li data-animal-type="fish">Salmon</li>
<li data-animal-type="spider">Tarantula</li>

选择器非常强大,允许更高级的选择,如:

  

E [foo ^ =“bar”]一个E元素,其“foo”属性值正好开始   字符串“bar”E [foo $ =“bar”]是一个E元素,其“foo”   属性值完全以字符串“bar”E [foo * =“bar”]和E结束   “foo”属性值包含子串“bar”的元素
  E [foo | =“en”]一个E元素,其“foo”属性具有连字符分隔符   使用“en”

开始(从左侧)开始的值列表