gpt4 book ai didi

javascript - 将循环中的计数器分配给变量不会保留其当前值

转载 作者:行者123 更新时间:2023-11-30 15:45:26 25 4
gpt4 key购买 nike

<分区>

我不明白下面的行为。

我希望下面的脚本执行以下操作:

  1. 获取类为'button'的所有元素
  2. 为每个带有按钮的元素分配一个 onclick 事件
  3. 当用户点击一个按钮时,在分配 onclick 时会出现一个带有当前值 i 的警报。

所以我希望点击“按钮 1”会提示“我是按钮 1”。

相反,所有 3 个按钮都提示“我是按钮 3”。看起来 i 计数器的值没有被保留。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<p class="button">Button 0</p>
<p class="button">Button 1</p>
<p class="button">Button 2</p>
<script>
var buttons = document.getElementsByClassName('button');
for (var i=0 ; i < buttons.length ; i++){
buttons[i].onclick = function(){
alert("I am button " + i);
};
}

</script>
</body>
</html>

为什么会这样?我怎样才能达到预期的行为?

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