js循环问题

DOM结构

  <div class="list_top">
            <div class="list-month">
                <ul id="list">
                    <li class="active">1月</li>
                    <li>2月</li>
                    <li>3月</li>
                    <li>4月</li>
                    <li>5月</li>
                    <li>6月</li>
                    <li>7月</li>
                    <li>8月</li>
                    <li>9月</li>
                    <li>10月</li>
                    <li>11月</li>
                    <li>12月</li>
                    <li>年度</li>
                </ul>
            </div>
            <div class="list-soc">评分表,评分细则</div>
        </div>
        <div id="list-nav" class="list-nav">
            <div class="nav-list" style="display: block">
            </div>
            <div class="nav-list"> 
            </div>
            <div class="nav-list">  
            </div>
            <div class="nav-list">
            </div>
            <div class="nav-list">  
            </div>
            <div class="nav-list">  
            </div>
            <div class="nav-list">  
            </div>
            <div class="nav-list">  
            </div>
            <div class="nav-list">  
            </div>
             <div class="nav-list">  
            </div>
             <div class="nav-list">  
            </div>
             <div class="nav-list">  
            </div>
        </div>
        
        
        
      window.onload=function(){
    var Div=document.getElementById("list")
    var ban=document.getElementById("list-nav")
    var OPr=Div.getElementsByTagName("li")
    var OLr=ban.getElementsByTagName("div")

    for(var i=0;i<OPr.length;i++)
    {
        OPr[i].index=i
        OPr[i].onclick=function(){
            for(var i=0; i<OPr.length;i++)
            {
                OPr[i].className='';
                console.log(OLr)
                OLr[i].style.display='none'
            }
            this.className='active'
            OLr[this.index].style.display='block'

        };
    }
}   
        

报错代码Cannot read property 'style' of undefinedOPr.

阅读 2.5k
4 个回答

13个li,12个div,肯定会报错啊!应该是OLr[12]报错吧!

就你的错误:再加上 <div class="nav-list"> </div>就可以了,个数一样就可以了

<div class="nav-list"> </div> +1

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题