简体   繁体   English

如何通过VanillaJS获取具有选择器属性的所有元素?

[英]How can i get all elements with a selector attribute with VanillaJS?

I'd like to get all elements with a specific data- attribute, but I need to manipulate they individually. 我想让所有元素都具有特定的data- attribute属性,但是我需要单独操作它们。 Check my code: 检查我的代码:

HTML 的HTML

<div data-something></div>
<div data-something></div>

JavaScript 的JavaScript

document.querySelectorAll("[data-something]").onclick = function() {
    ...
}

You are getting all of them, but that means you're getting a nodeList , an array-like object containing all the elements that has to be iterated over 您将获得所有这些元素,但这意味着您将获得一个nodeList ,这是一个类似数组的对象,其中包含必须迭代的所有元素

var elements = document.querySelectorAll("[data-something]");

for (var i=0; i<elements.length; i++) {

    elements[i].addEventListener('click', function() {
    ...
    }, false);
}

Below is how you can get all elements with a selector attribute and create an onclick listener for each element. 下面是如何获取具有选择器属性的所有元素并为每个元素创建onclick侦听器的方法。

Run the snippet, and click the "click me -- A" or "click me -- B" links for a demo: 运行代码段,然后单击“单击我-A”或“单击我-B”链接进行演示:

 var elements = document.querySelectorAll('[data-something]'); Array.prototype.forEach.call(elements, function (element) { element.onclick = function () { alert(element.innerHTML); }; }); 
 <div data-something>click me -- A</div> <div data-something>click me -- B</div> 

You can also use .addEventListener('click', someFunction) instead of .onclick = someFunction . 您也可以使用.addEventListener('click', someFunction)代替.onclick = someFunction

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从选择器中获取所有元素包含的属性的每个值? - How do you get every value for an attribute that all the elements contain from a selector? 如何遍历和切换具有相同类/ VanillaJS的元素? - How do I loop through and toggle elements with the same class / VanillaJS? 在对可排序元素进行排序后,如何获取包括数据属性在内的所有索引? - How can I get all indexes including a data attribute after sorting sortable elements? 是否有一个 jQuery 选择器来获取所有可以获得焦点的元素? - Is there a jQuery selector to get all elements that can get focus? 如何使用匹配所有元素的jQuery选择器跟踪多个元素的点击计数? - How can I track click counts for multiple elements with a jQuery selector that matches all of the elements? Chrome扩展程序-如何捕获vanillaJS文档上的点击事件 - Chrome extension - How can I capture click events on the document vanillaJS 如何将属性选择器与变量一起使用? - How can I use the attribute selector with a variable? CSS 后代选择器获取具有特定属性的所有元素,忽略具有相同属性的元素的任何后代 - CSS descendent selector to get all elements with a certain attribute, ignoring any that are descendents of an element with that same attribute 如何获得具有匹配数据属性值的dom元素? - How can I get a dom elements with a matching data attribute value? 如何将“ selected =&#39;selected&#39;”属性分配给特定 <option>在一个<select>清单。请只使用VanillaJS - How do I assign a “ selected='selected' ” attribute to a specific <option> in a <select> list. VanillaJS only please
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM