是否有一种简单的方法可以使用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(?)。
答案 0 :(得分:8)
就是这样:
var elements = document.querySelectorAll('[data-mydata]');