事件委托:获取被点击 li 的下标
window.onload = function () {
const oUl = document.getElementById("ul");
const aLi = document.getElementsByTagName("li");
oUl.onclick = function (event) {
const e = event || window.event;
const target = e.target || e.srcElement;
if (target.nodeName.toLowerCase() === "li") {
let index = -1;
for (let i = 0; i < aLi.length; i++) {
if (aLi[i] === target) {
index = i;
break;
}
}
if (index >= 0) alert("我的下标是" + index);
target.style.background = "red";
}
};
};
补充
补充:原笔记里写成
if (let i = 0; i < aLi.length; i++)——if条件里不能放let声明,这是非法语法。修正为正常for循环,并补了break提前结束;同时把字符串里"我的下标是" + index的中文引号配对补全。



