面试题之“给列表添加点击事件,使其显示相应的内容”
方法一:
var lis = document.getElementsByTagName("li");
for(var i = 0; i<itemli.length; i++){
lis[i].index = i; //给每个li定义一个属性索引值,赋
lis[i].onclick = function(){
alert("下标索引值为:"+this.index+"\n"+"文本内容是:"+this.innerHTML); \n换行 索引值从0开始
}
}
方法二:(常用方法)
var lis = document.getElementsByTagName("li");
for(var i = 0; i<lis.length; i++){
(function(n){
lis[i].onclick = function(){
alert("下标索引值为:"+n+"\n"+"文本内容是:"+lis[n].innerHTML); \n换行索引值从0开始
}
})(i)
}
或者:
for(var i = 0; i<lis.length; i++){
lis[i].onclick = function(n){
return function(){
alert("下标索引值为:"+n+"\n"+"文本内容是:"+lis[n].innerHTML); // \n换行索引值从0开始
}(i)
方法三:jQuery(更简单)
$("ul li").click(function(){
var li = $(this).index(); //获取索引下标 也从0开始
alert("下标索引值为:" + li +"\n"+ "文本内容是:"+textword); // \n换行
})
希望对你有帮助, 整理一下。