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

求解 蟹蟹 我想问一下为什么有三个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"); 

var myH=mylist.parentNode.parentNode.parentNode.lastChild

document.write(myH.innerHTML)

</script> 


</body>

</html>


提问者:是骆驼啊 2017-01-06 11:17

个回答

  • 慕粉2118219580
    2017-01-07 13:41:22

    代码中<li id="tcon"> 基础语法</li> 该标签的父类为ul标签,ul的父类为li标签,li标签的父类为最外层的ul标签,

    由最外层的ul标签找到他的最后一个子类即html/css所在的标签,输出该标签的内容,(结构层层嵌套)

    代码

    <!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 myp=mylist.parentNode.parentNode.parentNode;
       var mys=myp.lastChild;
       document.write(mys.innerHTML);
       document.write(mys.getAttribute('id'));
    </script>

    </body>
    </html>

  • 陨落心
    2017-01-06 13:36:28

    a的parentNode是<td>,     <td>的parentNode是tr         <tr>的parentNode是<table>, 通过<table>删除<tr>.

    也就是a.parentNode.parentNode.parentNode.removeNode(xx);