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

<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 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>  

document.write(mylist.parentNode.parentNode.parentNode.nodeName);

这个li指的那个地方的li

提问者:小飞飞丶F 2016-10-20 22:29

个回答

  • 折翼天使I
    2016-10-27 16:41:07

    建议你在写代码的时候自己进行缩进,类似下面这样:

    <!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");
       var x=mylist.parentNode.parentNode.parentNode;
       document.write(x.childNodes[x.childNodes.length-2].innerHTML);
    </script> 
    </body>
    </html>

    这样之后,先明确你的mylist指的是哪个东西,然后每个parentNode你就往上找一层,

    mylist=?????
    var mylist = document.getElementById("tcon");(实例)
    document.write(mylist.parentNode.parentNode.parentNode.nodeName);

    如果是按照实例里的,mylist指的是:

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

    就是找出来输出过程就应该是:li→ul→li→ul,最后的这个ul指的是:

    <ul id="con">


  • 最快的蜗牛
    2016-10-21 13:58:19

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

       var list = mylist.parentNode.parentNode.parentNode.lastChild;

       document.write(list.innerHTML);


  • 最快的蜗牛
    2016-10-21 13:56:24

    你这个最后输出的不是 li 的文本,你这输出的是祖元素 ul 的节点名,你提交了输出的是ul

  • 最快的蜗牛
    2016-10-21 12:03:17

    不知道你说的是哪个