gpt4 book ai didi

javascript - 在for循环中添加事件

转载 作者:行者123 更新时间:2023-11-27 23:47:07 24 4
gpt4 key购买 nike

我想更改每个<p>的innerText至*带有鼠标悬停事件。

HTML

<p id="object1">O</p>
<p id="object2">O</p>
<p id="object3">O</p>

我写了一个脚本,但它只影响最后一个<p> 。我的脚本有什么问题?如果您能提供帮助,我将不胜感激。

JavaScript

var nodeList = document.getElementsByTagName('p');

for (var i = 0; i < nodeList.length; i++) {
var obj = Utility.$(nodeList[i].id);
obj.addEventListener('mouseover', function () {
obj.innerHTML = '*';
}, false);
}

最佳答案

您应该在事件处理程序中使用事件参数,否则 obj 是最后一个分配者(在循环中分配)。

而且您不需要任何实用程序帮助器

var nodeList = document.getElementsByTagName('p');

for(var i = 0; i < nodeList.length; i++)
{
var obj = nodeList[i];
obj.addEventListener('mouseover', function(e){
e.target.innerHTML = '*';
}, false);
}

http://jsfiddle.net/002efeht/

关于javascript - 在for循环中添加事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33064524/

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