使用for循环添加点击事件时,获取i值的方法
2017-03-28 本文已影响358人
lvyweb
有两种方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
#test li:nth-child(odd){
background-color: skyblue;
}
#test li:nth-child(even){
background-color: yellowgreen;
}
</style>
</head>
<body>
<div>
<ul id="test">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</div>
<script type="text/javascript">
// 方法一:存贮i值
var lis=document.getElementById('test').getElementsByTagName('li');
for(var i=0;i<lis.length;i++){
lis[i].index=i;//存储index值
lis[i].onclick=function(){
alert(this.index);
};
}
//方法二:使用立即执行函数
var lis=document.getElementById('test').getElementsByTagName('li');
for(var i=0;i<lis.length;i++){
lis[i].index=i;
lis[i].onclick=(function(a){
return function() {
alert(a);
}
})(i);
}
</script>
</body>
</html>