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

问题描述

嵌套的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>

解决方案三:

JavaScript代码执行
javascript如何让页面加载完毕再去执行代码

时间: 2024-10-30 06:47:51

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

matrix-gui-2.0 将javascript文件夹改成js文件夹

/******************************************************************************** * matrix-gui-2.0 将javascript文件夹改成js文件夹 * 说明: * 今天在测试的matrix-gui-2.0的时候总是找不到javascript中的js文件,直接访问也 * 提示没有权限索性直接将javascript文件夹名字修改为js,结果可以访问了,好像这个问 * 题之前有遇到过,没有去解决. * * 2

javascript表单处理具体实现代码(表单、链接、按钮)_javascript技巧

本文实例处理各种表单, 以及链接,按钮的通用组件,教大家如何对javascript表单处理进行操作,具体内容如下 /** * Generic Form processing js * @author Anthony.chen */ /** * Push button action [btn_action]data into form * If there is prescript , run the pre script */ "use strict"; //All ajax requ

JavaScript中removeChild 方法开发示例代码_javascript技巧

1. 概述 删除后的节点虽然不在文档树中了,但其实它还在内存中,可以随时再次被添加到别的位置. 当你遍历一个父节点的子节点并进行删除操作时,要注意,children属性是一个只读属性,并且它在子节点变化时会实时更新 // 拿到待删除节点: var self = document.getElementById('to-be-removed'); // 拿到父节点: var parent = self.parentElement; // 删除: var removed = parent.remove

javascript 简单抽屉效果的实现代码_javascript技巧

css 复制代码 代码如下: <style type="text/css"> #bodycontainer { height: 66px; } #leftcontainer { background-color: #C5C5C5; float: left; border: 1px solid #C5C5C5; } </style> aspx: 复制代码 代码如下: <div id="bodycontainer"> <div

Javascript 遮罩层和加载效果代码

这篇文章介绍了Javascript 遮罩层和加载效果代码,有需要的朋友可以参考一下   复制代码 代码如下:  //loading function showLoad(tipInfo) { var iWidth = 120; //弹出窗口的宽度; var iHeight = 0; //弹出窗口的高度; var scrolltop = 0; var scrollleft = 0; var cheight = 0; var cwidth = 0; var eTip = document.create

Javascript实现音乐随机播的代码

javascript|随机 将以下代码放在<head>与</head>之间即可. <SCRIPT language="JavaScript"><!--var sound1="midi/1.mid"var sound2="midi/2.mid"var sound3="midi/3.mid"var sound4="midi/4.mid"var sound5="

JavaScript禁止页面操作的示例代码

 本篇文章是对JavaScript禁止页面操作的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 单的JS禁止页面右键菜单--避免网站信息被盗用  代码如下: <script type="text/javascript">   function block(oEvent){    if(window.event)     oEvent=window.event;    if(oEvent.button==2)     alert("鼠标右键不可用&

JavaScript输入邮箱自动提示实例代码

 这篇文章主要介绍了JavaScript输入邮箱自动提示实例代码,有需要的朋友可以参考一下 本来想把之前对artTemplate源码解析的注释放上来分享下,不过隔了一年,找不到了,只好把当时分析模板引擎原理后,自己尝试   写下的模板引擎与大家分享下,留个纪念,记得当时还对比了好几个模板引擎来着.   这里所说的js的模板引擎,用的是原生的javascript语法,所以很类似php的原生模板引擎.       前端模板引擎的作用?   1. 可以让前端开发更简单,不需要为了生成一个dom结构而使

javascript 回到顶部效果的实现代码

 本篇文章主要是对javascript 回到顶部效果的实现代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: //speed 滚动速度 time 时间间隔 function gotoTop(speed,time){       speed = speed || 0.1;     time = time || 16;       // 滚动条到页面顶部的水平距离     var x = document.body.scrollLeft;       // 滚动条到页面顶部的