为什么x输出的onclick等于被单击的列表索引?

问题描述 投票:1回答:2

我之前遇到过此代码,但我不明白为什么当您单击列表项时,为什么数组索引上的列表项编号会记录到控制台。控制台是否应在每次单击列表项时都不记录4?更好的是,不是因为item [x]等于4就不可能单击任何列表项吗?我在这里不明白什么?

html

<ul>
  <li>0</li>
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>

javascript

var items = document.getElementsByTagName("li");

for(let x=0; x < items.length; x++){
  items[x].onclick = function(){
    console.log(x);
  }
}
javascript
2个回答
1
投票

您将获得所有4个列表项并将它们分配给项。然后,您按索引循环访问它们,从索引0开始到3,为它们分配一个onClick函数,该函数可以将任何索引(0、1、2和3)打印到控制台。


3
投票

为什么您每次单击列表项时都认为控制台日志应该打印4?

© www.soinside.com 2019 - 2024. All rights reserved.