gpt4 book ai didi

javascript - 如何在所有具有特定类的 dom 元素上添加 EventListener?

转载 作者:行者123 更新时间:2023-11-28 12:15:35 25 4
gpt4 key购买 nike

我的 DOM 中有一些包含 class="foo"的跨度,并且所有跨度都是动态创建的。

使用 TypeScript,我想在创建它们后为其添加一个 onClick 事件。

我有这样的东西:

var foos = document.body.querySelectorAll(".foo");
foos.forEach(function (item) {
item.addEventListener("click", () => {
console.log(item);
});
});

但是我不能在 NodeListOf 上执行 forEach 操作。

foos = Array.from(foos) 不起作用,因为:类型“ArrayConstructor”上不存在“from”。

最佳答案

为此使用简单的 for 循环。您可以获取 foos 数组中每个索引的元素并为其分配单击事件。这是因为 querySelectorAll 返回一个 NodeList,它像数组一样索引,但不是数组,因此您无法调用它的数组方法,因为它不是真正的数组.

var foos = document.body.querySelectorAll(".foo"));
for(var i=0; i<foos.length; i++){
foos[i].addEventListener("click", () => {
console.log(item);
});
});

关于javascript - 如何在所有具有特定类的 dom 元素上添加 EventListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50254616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com