两种方式实现点击列表弹出列表索引
方式一,使用利用事件冒泡委托给列表的父节点去处理的方式:
var ulObj = document.getElementById("myUl"); ulObj.onclick = function (event) { var tg = event.target; var liArray = ulObj.getElementsByTagName("li"); for (var i = 0; i < liArray.length; i++) { if (liArray[i] === tg) { alert(i + 1); } } }
方式二,使用闭包:
var liArray = document.getElementById("myUl").getElementsByTagName("li"); for (var i = 0; i < liArray.length; i++) { (function () { var n = i; liArray[i].onclick = function () { alert(n + 1); } })(i) }
HTML代码:
<ul id='myUl'> <li>haha</li> <li>heihei</li> <li>hehe</li> <li>gaga</li> </ul>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步