Javascript 使用jQuery选择数据属性为*非*的元素

Javascript 使用jQuery选择数据属性为*非*的元素,javascript,Javascript,有没有一种简单的方法可以在不使用jQuery的情况下(希望不迭代整个DOM树)获取包含数据-*属性的所有元素的列表 我可以使用jQuery找到很多答案,但我无法在我的项目中使用它,也无法使用普通Javascript找到答案 例如,如果我有以下HTML: <input data-mydata="data1"> <input data-mydata="data2"> <div data-mydata="data3"></div> <div dat

有没有一种简单的方法可以在不使用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>

然后获取包含
数据mydata
的所有元素(任何类型)的列表

我试图实现的是基于数据-*和数据值从某些元素获取数据以进行存储

我知道我可以将
name
属性与
getElementsByName
一起使用,但这在我的项目中也不可能使用,因为元素的名称设置用于其他目的

我相信
querySelectorAll
只对CSS(?)有效。

很简单:

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

querySelectorAll(['data-mydata']);重复问题:
document.querySelectorAll()
肯定是javascript。查看浏览器支持:可能是@Jack的副本,谢谢。刚把它取下来。