用JS实现点击列表弹出列表索引的两种方式

时间:2021-04-16

  方式一,使用利用事件冒泡委托给列表的父节点去处理的方式:

  代码如下:

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>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章