var aList = document.querySelectorAll(".F-nav-li h2"); var aHide = document.querySelectorAll(".F-hide-1"); for(var i = 0; i < aList.length; i++){ // 从哪来 到哪结束 怎么去 aList[i].onclick = function(){ // 鼠标点击事件 console.log("你是个牛",i); aHide[i].style.height = "125px";//此时会产生报错,报错原因是由于i的取值越界了! }
}
var aList = document.querySelectorAll(".F-nav-li h2"); var aHide = document.querySelectorAll(".F-hide-1");
for(var i = 0; i < aList.length; i++){ // 从哪来 到哪结束 怎么去 /* 第一次循环: aList[0].index = 0; 第二次循环: aList[1].index = 1; 第三次循环: aList[2].index = 2; 用于保存相应的下标【index】 */ aList[i].index = i; // 自定义属性用于保存相应的下标 aList[i].onclick = function(){ // 鼠标点击事件
console.log("你是个牛",this.index); //this指针,指哪打哪 !this.index将获取一对一的下标
aHide[this.index].style.height = "125px";//此时会产生报错,报错原因是由于i的取值越界了! }
}
解决方案:自定义属性,用来保存相关的下标信息,然后使用this指针指定到相关的下标【index】即可!
解决结果如下图: