<script type="text/javascript">
function setTab(name,cursel,n){
var n=document.getElementById(name).getElementsByTagName("a").length;
 for(i=1;i<=n;i++){
  var menu=document.getElementById(name+i);
  var con=document.getElementById(name+"_"+i);
  menu.className=i==cursel?"hover":"";
  con.style.display=i==cursel?"block":"none";
 }
}
</script>
在asp.net上插入这段代码它说缺少对象不知道怎么回事? 请教各位高手?

解决方案 »

  1.   

     con.style.display=i==cursel?"block":"none";
    就这一行出错了 但鼠标移上去就出错
      

  2.   

    应该是Js中有对象未判断空 而去引用引发的...把页面HTML也贴出来不然无法分析问题
      

  3.   

    <div class="top_hdlxs">
      <div class="hdlxs_left">
        <div class="hdlxs_left_top">
        <span class="lxs">
        <a href="#" id="qiehuan1" onmouseover="setTab('qiehuan',1)" class="hover">邯郸旅行社</a><span class="hddy">
        <a id="qiehuan2" onmouseover="setTab('qiehuan',2)">酒店</a></span></span></div>
        <div id="qiehuan">
        <div id="qiehuan_1">
        <div class="hdlxs_left_con">
        <ul>
        <asp:Repeater ID="LxsRepeater1" runat="server">            <ItemTemplate>        <li><img src="../images/travel/hdzxlypd/jiantou.jpg"  style="float:left"/>&nbsp;&nbsp;<a href='hwlly.aspx?Enterpriseid=<%#Eval ("enterpriseid") %>'><%#Eval ("title") %></a></li>
            </ItemTemplate>
         
          </asp:Repeater>
          </ul>
        </div>
    </div>
    </div>
       <div id="jiudian">
          <ul>
        <asp:Repeater ID="jiudian" runat="server">            <ItemTemplate>        <li><img src="../images/travel/hdzxlypd/jiantou.jpg" style="float:left" />&nbsp;&nbsp;<a href='hwlly.aspx?Enterpriseid=<%#Eval ("enterpriseid") %>'><%#Eval ("title") %></a></li>
            </ItemTemplate>
         
          </asp:Repeater>
          </ul>
     
       </div>
      

  4.   

     var con=document.getElementById(name+"_"+i);
    在这句之后先加一句alert(con);,看看con是不是找到了
      

  5.   

    天上这一句之后 出现个警示框 null
      

  6.   

    把alert(con)改成alert(name+"_"+i)看看弹出的是什么
      

  7.   

    说错了第一个是qiehuan_1  第二个是qiehuan_2
      

  8.   

    如果你是在服务器端使用visible=false,那样是找不到控件的。
      

  9.   

    这是我修改过的部分代码,div可以找到,你看一下:<html>
    <body>
        <div class="top_hdlxs">
            <div class="hdlxs_left">
                <div class="hdlxs_left_top">
                    <span class="lxs"><a href="#" id="qiehuan1" onmouseover="setTab('qiehuan',1);return false;"
                        class="hover">a</a><span class="hddy"> <a id="qiehuan2" onmouseover="setTab('qiehuan',2);return false;">
                            b</a></span></span></div>
                <div id="qiehuan">
                    <div id="qiehuan_1" style="border: 1px">
                        <div class="hdlxs_left_con">
                            <ul>
                            </ul>
                        </div>
                    </div>
                </div>
                <div id="jiudian">
                    <ul>
                    </ul>
                </div>
            </div>
        </div>
    </body>
    </html>
    <script type="text/javascript">
        function setTab(name, n) {
            //var c = document.getElementById(name).getElementsByTagName("a").length;
            for (i = 1; i <= n; i++) {
                var menu = document.getElementById(name + i);
                var con = document.getElementById(name + "_" + i);
                alert(con);
                //menu.className = i == cursel ? "hover" : "";            //con.style.display = i == cursel ? "block" : "none";
            }
        } 
    </script>