gpt4 book ai didi

javascript - 单击添加到 DOM 的元素无法获得正确的值

转载 作者:行者123 更新时间:2023-11-30 12:23:08 25 4
gpt4 key购买 nike

<分区>

为什么下面的代码在点击时不打印它对应的值?

相反,它打印 5?

var recipeDiv = document.createElement("div");
var recipeUL = document.createElement("ul");
for (var i = 0; i < 5; ++i) {
var listNode = document.createElement("li");
listNode.innerHTML = i;
listNode.onclick = function() { alert(i); }
recipeUL.appendChild(listNode);
}
recipeDiv.appendChild(recipeUL);
addNodeToDOM(document.body, recipeDiv, 'recipe');

function addNodeToDOM(element, node, id) {
var div = document.createElement('div');
div.id = id;
div.appendChild(node);
element.appendChild(div);
}

我能够在此处重现错误:jsfiddle

但基本上,我不确定这是否是将元素正确添加到 DOM 的惯例。如果是这样,为什么每次我点击列表元素时,它都不显示

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