问答详情
源自: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.childNodes[0].nodeValue)

</script>


</body>


</html>


提问者:慕运维7130634 2017-09-03 14:53

个回答

  • 收获季节
    2017-09-09 14:40:53
    已采纳

    最后那个</ul>要紧跟着</li>,你换行就有空白了。就多了一个空白的文本元素。这样就不能用 lastchild 了。

    按照你的html整理,你这样输出,就可以了

    <!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 lt=document.getElementById('con').childNodes.length;

    //alert(lt);

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

       var h=mylist.parentNode.parentNode.parentNode.childNodes[lt-2].innerHTML;

        document.write(h);

    </script> 


    </body>

    </html>


  • 夜莺007
    2017-09-03 15:31:46

    你是不是 代码整理的错误了