$.("#a").hide(); 貌似jquery又不像$后面还有个.

解决方案 »

  1.   

    这个没试
    if(..)//显示a的条件 

      $("#a").css("visibility","visible"); 
      $("#b").css("visibility","hidden"); 
    }else 

      $("#a").css("visibility","hidden"); 
      $("#b").css("visibility","visible"); } 
      

  2.   

    我试过CutBug的了,不行, select选框位置变得更厉害了,以前那个还是偶尔变,现在是每次都变了
      

  3.   

    会变是因为你原来显示的是2个,现在只有一个select
    <html>
    <head>
    <script language="javascript" src="jquery-1.2.6.js"></script>
    <script language="javascript">
    function ctrSel(selId)
    {
        var id=selId=="a"?"b":"a";
        $("#"+selId).show();
        $("#"+id).hide();
    }
    </script>
    </head>
    <body><select id="a"> 
    <option>aa </option> 
    <option>aaaa </option> 
    </select> 
    <select id="b"> 
    <option>bb </option> 
    <option>bbbb </option> 
    </select>
    <br />
    <input type="button" value="display a only" onclick="ctrSel('a')" />
    <input type="button" value="display b only" onclick="ctrSel('b')" />
    </body>
    </html>
      

  4.   

    谢谢大家的热心帮助,特别谢谢CutBug,我遇到的问题比这个例子复杂的多,其实我的select选框不只两个,有好多个,其实上面你写的javascript和我的实现方法是一样的,目前的状况时select选框的位置在ie7和火狐下面都能正确显示,只有在ie6下偶尔出现位置变化,也不是说每次都变化,这可能就是说ie6对hide什么的支持的不是很好,也不知有没有其它的方法