如何找到具有特定数据属性的所有标签?
How to find all tags with a specific data- attribute?
我需要使用 jQuery 找到所有绑定了 'error' 数据的标签。
这就是我所做的。它不起作用,因为我用代码添加了数据属性。
$('form input').data('error',1);
console.log( $('form input[data-error]') ); // This is empty
我怎样才能检索所有这些?
使用filter()
$('form input').filter(function(){
return $(this).data('error'); // adjust if boolean not sufficient
}).doSomething();
可以使用原生JavaScript(不需要jQuery),只需使用:
Document.querySelectorAll() with a Selectors Level 3(类似于CSS)
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"] an E element whose "foo" attribute value begins exactly
with the string "bar" E[foo$="bar"] an E element whose "foo"
attribute value ends exactly with the string "bar" E[foo*="bar"] an E
element whose "foo" attribute value contains the substring "bar"
E[foo|="en"] an E element whose "foo" attribute has a hyphen-separated
list of values beginning (from the left) with "en"
我需要使用 jQuery 找到所有绑定了 'error' 数据的标签。 这就是我所做的。它不起作用,因为我用代码添加了数据属性。
$('form input').data('error',1);
console.log( $('form input[data-error]') ); // This is empty
我怎样才能检索所有这些?
使用filter()
$('form input').filter(function(){
return $(this).data('error'); // adjust if boolean not sufficient
}).doSomething();
可以使用原生JavaScript(不需要jQuery),只需使用:
Document.querySelectorAll() with a Selectors Level 3(类似于CSS)
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"] an E element whose "foo" attribute value begins exactly with the string "bar" E[foo$="bar"] an E element whose "foo" attribute value ends exactly with the string "bar" E[foo*="bar"] an E element whose "foo" attribute value contains the substring "bar"
E[foo|="en"] an E element whose "foo" attribute has a hyphen-separated list of values beginning (from the left) with "en"