使用jQuery选择具有数据属性* not *的元素

时间:2013-07-19 18:00:53

标签: javascript

是否有一种简单的方法可以使用jQuery获取包含data-*属性而不使用的所有元素的列表(并且希望不会迭代整个DOM树)?

我可以使用jQuery找到很多答案,但我不能在我的项目中使用它,也不能使用普通的Javascript找到答案。

例如,如果我有这个HTML:

<input data-mydata="data1">
<input data-mydata="data2">
<div data-mydata="data3"></div>
<div data-mydata="data4"></div>
<input>
<div></div>

然后获取包含data-mydata的所有元素的列表?

我尝试实现的是根据数据*以及数据值从某些元素中获取数据。

我知道我可以将name属性与getElementsByName一起使用,但由于元素的名称设置用于其他目的,因此无法在我的项目中使用。

我相信querySelectorAll仅适用于CSS(?)。

1 个答案:

答案 0 :(得分:8)

就是这样:

var elements = document.querySelectorAll('[data-mydata]');