亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

DOM中有三種不同的節點,他們每個都對應一種不同的元素獲取方法,為什么第三種輸出結果是空白呢?

DOM中有三種不同的節點,他們每個都對應一種不同的元素獲取方法,為什么第三種輸出結果是空白呢?

第一個是獲取ID值為con的元素

第二個是獲取ID值為con的元素在頁面中的HTML代碼

第三個是獲取ID值為con的元素的最后一個子元素的值


正在回答

3 回答

這是 因為 瀏覽器解析DOM節點時,把回車符 也作為了一個節點,你可以使用chrome瀏覽器,在控制臺輸入下面命令查看 程序到底是如何執行的。你會看到id = con 的元素 子節點一共有三個 ,最有一個 就是 #text,所以你得到的空值

http://img1.sycdn.imooc.com//5514c73a00019e3904990233.jpg

另外一個 關于屬性 nodeValue 如果對于元素節點 值是 undefined或null, 對于文本節點 值是 文本本身

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

為理想我拼了 提問者

謝謝,只是不明白,為什么會有回車符存在呢。是因為有了P標簽的原因還是說本身就存在回車符。
2015-03-27 回復 有任何疑惑可以回復我~

換行符 在文檔內是看不到的 ?這個是控制字符,你通過txt 編寫 切換到下一行 不需要按一下回車嗎? 回車就會產生換行符

你用下載一個 notepad++ 打開你網頁文件,在視圖里面選擇 “顯示所有符號”結果就如下圖所示:

CRLF -- Carriage-Return Line-Feed 回車換行

http://img1.sycdn.imooc.com//5514f4610001f1ab07180384.jpg

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

為理想我拼了 提問者

哦明白了,原來是這樣。解釋的很清楚
2015-03-27 回復 有任何疑惑可以回復我~
<!DOCTYPE?HTML>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>document.getElementById</title>
</head>
<body>
<div?id="con">JavaScript
????<p>子元素段落</p>
</div>
<script?type="text/javascript">
??var?mychar=document.getElementById("con").lastChild.nodeValue;
??document.write("結果:"+mychar);?//輸出獲取的P標簽。?
</script>
</body>
</html>


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

DOM中有三種不同的節點,他們每個都對應一種不同的元素獲取方法,為什么第三種輸出結果是空白呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號