有个面试题,是点击一个li,弹出此li的索引值
- content content 1
- content content 2
- content content 3
- content content 4
- content content 5
// *用闭包解决索引值,变量,穿透作用域链*
var oUl = document.getElementById(“oList”);
var oLi = oUl.getElementsByTagName(“li”);
alert(oLi.length);
for(var i = 0;i <oLi.length;i++){
(function(){
var n = i;
oLi[i].onclick = function(){
alert(n+1);
}
})(i)
}
// 利用事件绑定,给ul绑定进行捕获。
// 浏览器的事件模型分为三个阶段 1、捕获阶段 2、目标阶段 3、冒泡阶段
var oUl = document.getElementById(“oList”);
oUl.onclick = function(event){
var tg = event.target;
var oLi = oUl.getElementsByTagName(“li”);
for(var i = 0;i<oLi.length;i++){
if(oLi[i]===tg){
alert(i+1);
}
}
}