為什么輸出的是#text#text 不應該是節點名字嗎
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
</head>
<body>
<div id="con">
? <div> <p>javascript</p>
? <div>jQuery</div>
? <h5>PHP</h5></div>
</div>
<script type="text/javascript">
? var x=document.getElementById("con");
? document.write(x.firstChild.nodeName);
?document.write(x.lastChild.nodeName);
</script>
</body>
</html>
2016-12-21
nodeName 屬性:?節點的名稱,是只讀的。
1.?元素節點的 nodeName 與標簽名相同
2.?屬性節點的 nodeName 是屬性的名稱
3.?文本節點的 nodeName 永遠是 #text
4.?文檔節點的 nodeName 永遠是 #document
在除了ie瀏覽器中 你的con對象的內容其實是這樣的
<div id="con">空白節點
? <div> <p>javascript</p>空白節點
? <div>jQuery</div>空白節點
? <h5>PHP</h5></div>空白節點
</div>
在非ie瀏覽器中會算上空白節點
這樣就很好理解你為什么輸出兩個#text了 因為首 尾子節點都是空白節點
所以輸出的是兩個#text
2017-01-09
建議使用firstElementChild和lastElementChild可排除空白節點