window.onload=function(){ 第一种方法:声明一个函数马上调用 var oli=document.getElementsByTagName('li'); for(var i=0;i<oli.length;i++){ oli[i].onclick=(function(n){ return function(){ alert(n) } })(i) } } 第二种方法:把下标i变成一个li的属性 //var oli=document.getElementsByTagName('li'); // for(var i=0; i<oli.length;i++) // { // oli[i].index=i; // oli[i].onclick=function(){ // alert('你点击的列表的下标是:'+this.index);//列表下标从0开始 // }; // } 第三种方法:forEach var lis=document.getElementsByTagName('li'); lis=Array.prototype.slice.call(lis,0); lis.forEach(function(v,i){ v.onclick=function(){ alert(i); } }); 第四种方法: $("#div").on("click","li",function(){ // 切换li列表样式 $(this).addClass("active"); $(this).siblings().removeClass("active"); // 获取当前点击li 的下标 let index = $(this).index() + 1; console.log(index); });