js中出现一个Cannot read property 'style' of undefined

<script>window.onload=function(){varoDiv=document.getElementById('div1');varaDiv=oDiv... <script>
window.onload=function()
{
var oDiv=document.getElementById('div1');
var aDiv=oDiv.getElementsByTagName('div');
var aBtn=document.getElementsByTagName('input');
for(var i=0;i<aBtn.length;i++)
{
aBtn[i].onclick=function()
{
for(var i=0;i<aBtn.length;i++)
{
aBtn[i].className='';
aDiv[i].style.display='none';
}

//alert('a');
this.className='active';
aDiv[i].style.display='block';
}
}
}
</script>

这段代码,为什么一运行页面,控制台就提示Cannot read property 'style' of undefined;
展开
 我来答
yugi111
推荐于2016-07-15 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
当然了,你看你的都写到拿备迅for循环后面去了,

for(var 滚塌i=0;i<aBtn.length;i++)
{
aBtn[i].className='';
aDiv[i].style.display='none';
}

//alert('a'消此);
this.className='active';
aDiv[i].style.display='block';
追问
为什么里面的for循环的aDiv[i].style.display='none';没有报错,而外面的for里的
aDiv[i].style.display='block';却报错啊……谢谢大神
追答
你不是写了索引i么??????看不懂么?嵌套那么多,一个for就够了,写的写的就是undefined
for循环i,里面又嵌入for循环的i,变量名相同,看来你连常识都没有
火火娃
2017-08-31
知道答主
回答量:5
采纳率:0%
帮助的人:5502
展开全部
因为for循环外面的i没定义呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式