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

Mik*_*e-O 3 javascript

有没有一种简单的方法来获取包含data-*属性的所有元素的列表而不使用jQuery(并且希望没有迭代整个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>
Run Code Online (Sandbox Code Playgroud)

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

我试图实现的是根据data-*以及数据值从某些元素中获取数据进行存储.

我知道我可以使用该name属性getElementsByName但是在我的项目中无法使用,因为元素的名称设置用于其他目的.

而且我相信querySelectorAll只能使用CSS(?).

Ja͢*_*͢ck 8

这只是这个:

var elements = document.querySelectorAll('[data-mydata]');
Run Code Online (Sandbox Code Playgroud)