<div class="nav"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </div>
JS代码一:
var lis = document.querySelectorAll("li"); for (var i = 0; i < lis.length; i++) { lis[i].addEventListener('click', function() { alert(i) }) } //每一个都是弹出5
JS代码二:
var lis = document.querySelectorAll("li"); for (let i = 0; i < lis.length; i++) { lis[i].addEventListener('click', function() { alert(i) }) } //将var改成let后,就能正确弹出每一个li的索引了
JS代码三:
var lis = document.querySelectorAll("li"); for (var i = 0; i < lis.length; i++) { (function(i){ lis[i].addEventListener('click', function() { alert(i) }) })(i) } //写在自执行函数里,也能正确弹出每一个li的索引
谁给我讲讲这是为什么
cxxyjsj
相关分类