gpt4 book ai didi

javascript - 将 html 元素从节点列表传递到匿名函数时遇到困难

转载 作者:行者123 更新时间:2023-12-03 05:13:59 25 4
gpt4 key购买 nike

我试图将事件监听器添加到节点列表中的每个 html 元素,并将相同的 html 元素作为参数传递给回调函数。我的代码看起来像这样。

let programs = document.getElementsByClassName('program-name')
for (i = 0; i < programs.length; i++){
programs[i].addEventListener("click", () => testFunc(programs[i]))
}
function testFunc(program) {
console.log(program)
}

问题是我期待 console.log(program)将 html 元素记录到控制台,但是所有日志都是 undefined

最佳答案

您可以使用传递给处理程序的 event 对象,而不是使用闭包(如评论中建议的那样):

programs[i].addEventListener("click", (evt) => testFunc(evt.currentTarget))

然后,被单击的 HTML 元素将被传递给回调。

关于javascript - 将 html 元素从节点列表传递到匿名函数时遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41683055/

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