為什么輸出的是#text#text 不應(yīng)該是節(jié)點(diǎn)名字嗎
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無(wú)標(biāo)題文檔</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 屬性:?節(jié)點(diǎn)的名稱,是只讀的。
1.?元素節(jié)點(diǎn)的 nodeName 與標(biāo)簽名相同
2.?屬性節(jié)點(diǎn)的 nodeName 是屬性的名稱
3.?文本節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #text
4.?文檔節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #document
在除了ie瀏覽器中 你的con對(duì)象的內(nèi)容其實(shí)是這樣的
<div id="con">空白節(jié)點(diǎn)
? <div> <p>javascript</p>空白節(jié)點(diǎn)
? <div>jQuery</div>空白節(jié)點(diǎn)
? <h5>PHP</h5></div>空白節(jié)點(diǎn)
</div>
在非ie瀏覽器中會(huì)算上空白節(jié)點(diǎn)
這樣就很好理解你為什么輸出兩個(gè)#text了 因?yàn)槭?尾子節(jié)點(diǎn)都是空白節(jié)點(diǎn)
所以輸出的是兩個(gè)#text
2017-01-09
建議使用firstElementChild和lastElementChild可排除空白節(jié)點(diǎn)