javascript - 选择具有特定数据属性 Javascript 的所有元素?

标签 javascript attributes

使用 jquery,我得到以下代码:

$('a[data-hello]').click(function(){ = 选择所有带有“data-hello”的“a”元素。

我正在尝试使用原始 Javascript 来实现这一点。我停在这里:

document.querySelectorAll("data-hello").onclick = function() {

(顺便说一句,有一种方法可以选择带有 data-hello 的所有 A 元素,而不是全部带有 data-hello 的 A 元素?o.O)

但是querySelectorAll返回一个数组。因此,只有当我确定位置时它才有效。这样:

document.querySelectorAll("data-hello")[5].onclick = function() {

但是我想要所有元素,而不是像 jQuery 那样的特定元素。我无法使用 jQuery。

用Jquery就这么简单:(我必须做一个“for”来遍历JS中的所有位置?有这个必要吗?抱歉我不明白...


我想做的事情:

我想获取被点击的元素的data属性值。我在函数内部使用 this 作为 this,然后,我应用了另一个在特定元素中添加类的函数。 基本上,有一些按钮在数据属性值中带有类。该类将应用于特定元素。

最佳答案

将元素数组(实际上是 NodeList)放入变量中并循环遍历它们以在每个元素上设置事件处理程序。这就是 jQuery 方法将某些内容应用于 jQuery 对象中的所有元素的作用。没有办法绕过循环,对于 jQuery,它只是隐藏在方法中。您可以将与 jQuery 中相同的选择器语法与 querySelectorAll 结合使用。

var arr = document.querySelectorAll("a[data-hello]");
var f = function() {
  // do something
};
for (var i = 0; i < arr.length; i++) {
  arr[i].onclick = f;
}

关于javascript - 选择具有特定数据属性 Javascript 的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20928347/

相关文章:

C#:使用条件属性进行测试

c++ - 为什么 GCC 不强制 __attribute__((pure)) 函数中的参数为常量?

ruby-on-rails - Ruby on Rails 中的自定义模型属性(列名)标题

javascript - 幻灯片顶部的菜单故障

javascript - 在javascript中预编译验证器函数

javascript - 链接的编辑功能 - UI

javascript - 通过 netsuite RESTlet 脚本设置/更改用户密码

javascript - 将数组传递给 TypeScript 中的构造函数

c# - 为什么 .Net 最佳实践是将自定义属性设计为密封的?

python - 执行 `func = func.__call__` 时 Python 会发生什么?