问答详情
源自:9-10 访问父节点parentNode

作业不懂。。。。

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>

<ul id="con">

    <li id="lesson1">javascript

      <ul> 

          <li id="tcon"> 基础语法</li>

          <li>流程控制语句</li>

          <li>函数</li>

          <li>事件</li>

          <li>DOM</li>

      </ul>

    </li>

    <li id="lesson2">das</li>

    <li id="lesson3">dadf</li>

    <li id="lesson4">HTML/CSS 

      <ul>

        <li>文字</li>

        <li>段落</li>

        <li>表单</li>

        <li>表格</li>  

      </ul> 

    </li>

</ul>  

<script  type="text/javascript">    

   var mylist = document.getElementById("tcon"); 

   document.write(mylist.parentNode.parentNode.parentNode.lastchild.innerHTMl); 

</script> 


</body>

</html>




在这个代码里,mylist.parentNode.parentNode.parentNode应该指向"con"节点,mylist.parentNode.parentNode.parentNode.lastchild应该指向lesson1,为何却能输出全部

提问者:cc_freestyle 2017-03-29 15:16

个回答

  • honey菠萝吹雪
    2017-05-27 09:09:22

    错了,mylist.parentNode.parentNode.parentNode.lastchild应该指向lesson4而不是lesson1.

  • 慕粉2043179507
    2017-04-23 14:15:05

     var mylist = document.getElementById("tcon"); 

        var p = mylist.parentNode.parentNode.parentNode.lastChild.firstChild;

        document.write(p.nodeValue);

    这样就能输出指定内容。InnerHTML会输出标签下的所有内容。

  • 慕粉1859536052
    2017-04-14 10:44:56

    var mylist = document.getElementById("tcon"); 

       var H=mylist.parentNode.parentNode.parentNode.lastChild;

       document.write(H.innerHTML);

    区分大小写,我这样写的,太长了自己不容易看。

  • 学习js
    2017-03-29 17:24:05

    首先,你的js代码错误有俩个,1:lastchild应该为lastChild,c要大写:2:innerHTMl应该为innerHTML,l要大写

    其次,这不是输出全部,你的ul里面的代码本来就会显示在页面上,跟你的Js输出无关

  • 心动轻盈
    2017-03-29 16:09:05

    你可以参考一下我的