嵌套的javascript 用children[0]为什么javascript代码没有执行呢

 <head>
    <title>后台左侧导航页面</title>

    <style type="text/css">
      .dc { 
            display: none; 
            margin-left: 10px;
          }
    </style>

    <script language="javascript">
          function test(e) {
                e.style.display = e.style.display == 'block' ? 'none' : 'block' ; 

          }

    </script>
  </head>

  <body>
    <ul>
        <li>
            <a href="#" onclick="test(cnm)">分类管理
                <div id=cnm class="dc">
                    <a href="${pageContext.request.contextPath }/manager/addcategory.jsp"  target="right">添加分类</a><br/>
                    <a href="${pageContext.request.contextPath }/manager/ListCategoryServlet"  target="right">查看分类</a><br/>
                </div>
            </a>
        </li>
   <a href="#" onclick="___test(children[0])___">分类管理
                <div  class="dc">
                    <a href="${pageContext.request.contextPath }/manager/addcategory.jsp"  target="right">添加分类</a><br/>
                    <a href="${pageContext.request.contextPath }/manager/ListCategoryServlet"  target="right">查看分类</a><br/>
                </div>

http://www.dewen.net.cn/q/10500

标签乱嵌套,div不是a的合法元素,div被解析出a标签外了,用nextSibling属性,注意a和div之间不要有空白,要不标准浏览器下也算一个节点

而且不用直接使用id引用控件,用document.getElementById,有些浏览器不支持,而且定义过同名变量也会导致引用到变量而不是dom对象

   <ul>
        <li>
            <a href="#" onclick="test(document.getElementById('cnm'))"> 分类管理</a><div id=cnm class="dc">
                    <a href="${pageContext.request.contextPath }/manager/addcategory.jsp" target="right">添加分类</a><br />
                    <a href="${pageContext.request.contextPath }/manager/ListCategoryServlet" target="right">查看分类</a><br />
                </div>
        </li>
        <a href="#" onclick="test(this.nextSibling)"> 分类管理</a><div class="dc">
                <a href="${pageContext.request.contextPath }/manager/addcategory.jsp" target="right">添加分类</a><br />
                <a href="${pageContext.request.contextPath }/manager/ListCategoryServlet" target="right">查看分类</a><br />
            </div>