我正在创建动态<li>
标记,当我点击<li>
标记时,我想显示包含该元素索引的提醒。但是在警报中,尽管点击了任何<li>
标记,但只显示“第6项”。
我的代码是:
<ul id="list"></ul>
<script type="text/javascript">
var list = document.getElementById("list");
for (var i = 1; i <= 5; i++) {
var item = document.createElement("li");
item.appendChild(document.createTextNode("Item " + i));
item.onclick = function (ev) {
alert("Item " + i + " is clicked.");
};
list.appendChild(item);
}
</script>
当我点击任何<li>
标记时,“item6 is clicked
”始终显示在提醒中。
我知道这个问题可以使用闭包来解决,但我无法实现它们。