我试图通过“元素”类获取所有元素,并向每个元素添加一个事件侦听器。然而,getElementsByClassName()返回和html集合。当我使用.length()它时它等于零。如何迭代此集合以便向此类中的每个元素添加事件侦听器?有没有办法将这个 html 集合转换为数组?这是我到目前为止所拥有的:
var tableElements = document.getElementsByClassName("element");
console.log(tableElements);
console.log(tableElements.length);
for(var i=0;i<tableElements.length;i++){
tableElements[i].addEventListener("click", dispElementData(this));
} //doesnt work
Run Code Online (Sandbox Code Playgroud)
小智 10
你可以用document.querySelectorAll(".element")它来代替。这将使用 CSS 选择器来查询 dom(在本例中为类“element”)。
var tableElements = document.querySelectorAll(".element");
tableElements.forEach(function(element) {
element.addEventListener("click", function() {
dispElementData(this);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14850 次 |
| 最近记录: |