解决前端循环报错的情况

<div class="tab">
<ul class="tab-menuWrapper" id="tab-menuWrapper">
<li>menu1</li>
<li>menu2</li>
<li>menu3</li>
<li>menu4</li>
</ul>
<div class="tab-contentWrapper" id="tab-contentWrapper">
<div>content1</div>
<div style="display: none;">content2</div>
<div style="display: none;">content3</div>
<div style="display: none;">content4</div>
</div>
</div>
<script type="text/javascript">
var tabMenus=document.getElementById("tab-menuWrapper").getElementsByTagName("li");
var tabContents=document.getElementById("tab-contentWrapper").getElementsByTagName("div");
for(var i=0;i<tabMenus.length;i++){
//有问题的循环代码
tabMenus[i].onclick=function(){
alert(i);//每次点击都会只出现4,而且会报错
for(var j=0;j<tabContents.length;j++){
tabContents[j].style.display="none";
}
tabContents[i].style.display="block";
}

//第一种解决方式,使用这个方法时请把有问题的那段代码注释掉
(function(_i){
tabMenus[_i].onclick=function(){
alert(_i);
for(var j=0;j<tabContents.length;j++){
tabContents[j].style.display="none";
}
tabContents[_i].style.display="block";
}
})(i);
//第二种方式
tabMenus[i]._index=i;
tabMenus[i].onclick=function(){
alert(this._index);
for(var j=0;j<tabContents.length;j++){
tabContents[j].style.display="none";
}
tabContents[this._index].style.display="block";
}

}
</script>

时间: 2024-07-29 12:20:02

解决前端循环报错的情况的相关文章

解决JVM启动报错:Unrecognized VM option &#39;+HeapDumpOnOutOfMemeryError&#39;

今天再搞一些OutOfMemery的相关知识探索,我想在JVM遇到OOM错误的时候,能够打印出heap dump,以便事后用Eclipse Memory Analyzer Tool(MAT)等内存分析工具分析内存的占用情况.我使用了JDK1.6.0_37和JDK1.7.0_60版本进行试验,到网上找了下,知道-XX:+HeapDumpOnOutOfMemoryError可以让JVM在探测到内存OOM的时候打印dump.但是在JVM启动参数添加这个参数的时候,JVM启动失败: Unrecogniz

sed -i 报错的情况

是因为替换的变量中带/的目录名 将原来的/改成# sed -i 报错的情况,布布扣,bubuko.com

解决mysqldump备份报错: Couldn&#39;t execute &#39;SHOW FIELDS FROM Unknown error 1356

服务器环境: [[email protected] mysql]# cat /etc/redhat-releaseCentOS Linux release 7.3.1611 (Core) [[email protected] mysql]# uname -aLinux localhost.localdomain 3.10.0-514.21.1.el7.x86_64 #1 SMP Thu May 25 17:04:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Linux下编译C代码,出现tan函数报错的情况

undefined reference to `tan' 但是已经包含了头文件 <math.h>了,可还是报错,说是找不到tan 这个问题的原因不是很清楚, 但是网上给出的方案,就是编译的时候 加上参数 -lm 有说l表示Lib ,m表示 math.h  , ****************************************************************************************************** 以下是一些说明 使用math.h

修改grub解决计算机启动报错:ERROR 17

修改grub解决计算机启动报错:ERROR 17 原本计算机有C,D,E,F,G.C盘windows系统盘,G盘安装了Centos.后来由于需要,就压缩卷的方式从D盘压缩出一个H盘.然后再次启动计算机的时候就遇到了错误:ERROR 17 原因: 就在于先安装windows后安装Linux这样的话,grub就由位于G盘的Centos引导,现在该分区之前又划分出一个新的逻辑分区,就导致磁盘系统符号向后移了一位,因此grub失败. 解决方案: 1,刻录一个Linux安装U盘,进入BIOS修改启动项,从

解决MySQL8.0报错:Unknown system variable &#39;validate_password_policy&#39;

一.问题描述 1.在安装MySQL8.0时,修改临时密码,因密码过于简单(如:123456),不符合MySQL密码规范,会触发一个报错信息: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements. 二.遇到问题 1.解决办法调整MySQL密码验证规则,修改 policy 和 length 的值. 2.MySQL 5.7 进行如下设置,即可解决问题: mysql>  set global

(转)解决dubbox-demo-provider.xml报错的问题:提示Failed to read schema document

背景:在eclipse项目中,经常会遇到xml文件提示找不到.xsd文件的情况.很有必要弄清xsd文件的加载过程! 1 解决过程 dubbo-demo-provider导入eclipse后dubbox-demo-provider.xml报错详情: Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be

linux查看与修改交换内存配置(解决zabbix-agent启动报错)

问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left on device cannot allocate shared memory for collector 检查 # sysctl -a | grep shm kernel.shmmax = 33554432 kernel.shmall = 2097152 kernel.shmmni = 4096 k

解决MongoDB安装报错的好帖

最近学爬虫学到了建代理池,redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在 官网 上下载 msi 安装包开始安装. 我不喜欢把软件装在系统盘,所以我选择 Custom,自己选要装在哪里,然后就跳出来下面这张图.针对下面这张图我翻译一下官方文档上的内容作为解释. 从 MongoDB 4.0 开始,默认情况下,你可以在安装期间配置和启动 MongoDB