這段代碼為什么firstChild就輸出underfined呢?而lastChild就可以輸出
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標(biāo)題文檔</title>
</head>
<body>
<ul id="con">
<li id="lesson1">javascript
? <ul>
????? <li id="tcon"> 基礎(chǔ)語法</li>
????? <li>流程控制語句</li>
????? <li>函數(shù)</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>
2016-04-01
mylist.parentNode.parentNode.parentNode獲得的是id為con的ul,它的第一個子節(jié)點為空,這是正常的。原因是它跟“<li id="tcon"> 基礎(chǔ)語法</li>”之間還有若干個空格,這若干個空格可以看做是一個未定義的文本節(jié)點,所以“<li id="tcon"> 基礎(chǔ)語法</li>”就成了第二個節(jié)點。