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

这段代码为什么firstChild就输出underfined呢?而lastChild就可以输出

<!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.firstChild.innerHTML);
</script>

</body>
</html>

提问者:qq_慕沐7463022 2016-04-01 17:58

个回答

  • 人生还有多少个二十年
    2016-04-01 20:58:34
    已采纳

    mylist.parentNode.parentNode.parentNode获得的是id为con的ul,它的第一个子节点为空,这是正常的。原因是它跟“<li id="tcon"> 基础语法</li>”之间还有若干个空格,这若干个空格可以看做是一个未定义的文本节点,所以“<li id="tcon"> 基础语法</li>”就成了第二个节点。