为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码为什么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>

正在回答

2 回答

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


1 回复 有任何疑惑可以回复我~
#1

qq_慕沐7463022 提问者

非常感谢!
2016-04-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信