我的页面有30个div,ID依次为d1,d2,……,d30。页面加载时默认显示d1,其他隐藏。
然后我有个按钮,想要一点击它就显示下一个div,其他的隐藏。
我的思路是页面加载时已经有d1(这个如何命名为“d”+i,i为int型)显示了,那么按钮就读取
d1.然后显示d2,其他隐藏。
可是我尝试了很久,还是不知道怎么用js获取div的ID,然后循环判断。请大家指教一下,谢谢!

解决方案 »

  1.   

    用jQuery的话就不用自己烦心了,jQuery提供了循环的方法
      

  2.   

    在window.onload中:
    var divs= document.getElementsByTagName("div");
    for(var i=0;i<divs.length;i++){
       if(div[i].id!="d1"){
           div[i].style.display="none";
       }
    }
      

  3.   

    dom 编程,jq是很和哦,但是我觉得 起码要懂得 基本的js 再用jq
      

  4.   

    大哥  你看看基本的js吧,要不你根本驾驭不了jQuery,二楼是正解,但是你要保证你的页面上除了那30个以外没有其他的div了
      

  5.   


    window.onload = function () {
         for (var i = 1; i <= 30; i++) {
               document.getElementById("d"+ i).style.display = "none";
         }
    };
     
      

  6.   

    <script type="text/javascript">
        window.onload = function () {
         
         for (var i = 1; i <= 30; i++) 
         {
           document.getElementById("d"+ i).style.display = "none";
         }
         document.getElementById("d"+ 1).style.display = "block";
         
         
    }    function show_div()
        {  
           var temp;
           for (var i = 1; i <= 30; i++) 
           {
           
           if(document.getElementById("d"+ i).style.display == 'block') 
           {
             temp=i+1;
             document.getElementById("d"+ i).style.display = "none";
           }
            else
           {
             document.getElementById("d"+ i).style.display = "none";
           }
           
           }
           document.getElementById("d"+ temp).style.display = "block";
           return false;
        }
        </script>