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

标签 javascript

是否有一种简单的方法来获取包含 data-* 属性的所有元素的列表 without 使用 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>

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

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

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

而且我相信 querySelectorAll 只适用于 CSS(?)。

最佳答案

就是这样:

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

关于javascript - 使用 jQuery 选择具有数据属性 *not* 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17752629/

相关文章:

javascript - 删除数据 jQuery

javascript - 在 Javascript 运行时动态设置断点

javascript - bash : Meteor. 用户:找不到命令

javascript - async.apply 在 async.waterfall 中

javascript - 使用 jQuery 在请求 header 中设置中文字符

javascript - Dojo:对小部件存储对象进行排序

javascript - 为什么按键不处理删除键和退格键

javascript - Rails 远程表单多次提交,错误为 'enter'

javascript - 如何使用 _.reduce(和 _.each)从 Underscore.js 重写 _.every/_.all

javascript - 有什么方法可以在调用构造函数之前重新设置 Function 对象的 "this"引用吗?