for 循环  先把所有的 div 变成none
再在下面 把指定的div 变成 block 或者 inline-block譬如 三个div的id 分别是 id_1 id_2 id_3for(var i=1;i<=3;i++){
    document.getElementById('id_'+i).style.display='none';
}document.getElementById('id_2').style.display='block';

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
      <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
      <title></title>
      <script type="text/javascript" src='http://code.jquery.com/jquery-1.11.0.min.js'></script>
    </head>
    <body>
    <div class="col">控制1</div>
    <div class="col">控制2</div>
    <div class="col">控制3</div>
    <input type="button" value="按钮1" class="button" /><input type="button" value="按钮2" class="button" /><input type="button" value="按钮3" class="button" />
    <script type="text/javascript">
      $(document).ready(function() {
        $(".button").each(function(index, value) {
           $(this).click(function() {
             $(".col").eq(index).show();
             $(".col").eq(index).siblings('div.col').hide();
           });
        });
      });
    </script>
    </body>
    </html>
      

  2.   

    <button type="button" name="but">按钮</button>
    <button type="button" name="but">按钮</button>
    <button type="button" name="but">按钮</button>
    <button type="button" name="but">按钮N</button>
    <div id="div">
        <div>1</div>
        <div style="display: none">2</div>
        <div style="display: none">3</div>
        <div style="display: none">N</div>
    </div>
    <script type="text/javascript">
        var but = document.getElementsByName("but");
        var div = document.getElementById("div").getElementsByTagName("div");
        for(var i=0;i<but.length;i++){
            but[i].onclick=(function(a){
                return function(){
                    for(var n=0;n<div.length;n++){
                        div[n].style.display = n==a?"block":"none";
                    }
                }
            })(i)
        }
    </script>这样只要按钮与div一样多,有多少个按钮都不怕了。
      

  3.   

    明白你说的了这样要 写三个函数 点其中某个 就先把全部display变成none 再显示其中一个
    这样写是不是有点麻烦 有没有只写一个函数的方法
      

  4.   

    不可能要写三个函数。function showdiv(divid){
      for(var i=1;i<=3;i++){
         document.getElementById('id_'+i).style.display='none';
      }
     
       document.getElementById(divid).style.display='block';
    }要显示哪个div就调用哪个div 如第三个div  就是  showdiv('id_3');