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

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

第一個div的子節點從哪里開始算起?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>無標題文檔</title>

</head>

<body>

<div>

? android

? <p>javascript</p> ? //第一個子節點是p嗎 ??

??

? <div>jQuery</div>

? <h5>PHP</h5>

</div>

<script type="text/javascript">

?var a=document.getElementsByTagName('div')[0].childNodes;

? // ?document.getElementsByTagName('div')[0].childNodes; 中的[0]指哪一個?

?for(var i=0;i<a.length;i++){

? ? ? ??

? ? ? ? ?document.write(a[i].nodeName+"</br>");

? ? ? ? ? document.write(a[i].nodeType+"</br>");

? ? ? ? ?document.write(a[i].nodeValue+"</br>");

? ? ?}

?//document.write(a);

?

?

</script>

</body>

</html>


正在回答

4 回答

不論什么瀏覽器第一個子節點都不會是p,而是文本節點#text。只不過IE下節點的值是android,而谷歌等瀏覽器是?android 。注意第二個?android 前后有空格,原因就是請繼續看本章節。

document.getElementsByTagName('div')[0].childNodes;中的[0]表示獲取所有div節點中的第一個div節點。通過TagName獲取的節點是一個集合,類似數組,即使本例只有一個div,也必須通過[0]來獲取它。

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

請君莫問

為什么只有第一個節點輸出了nodeValue,后面的節點都沒有值輸出
2016-04-08 回復 有任何疑惑可以回復我~
#2

深山小童 回復 請君莫問

1. 元素節點的 nodeValue 是 undefined 或 null 2. 文本節點的 nodeValue 是文本自身 3. 屬性節點的 nodeValue 是屬性的值 HTML中不能用//來注釋,而是用<!-- *** -->來注釋。 是<br/>而不是</br>
2016-04-08 回復 有任何疑惑可以回復我~
#3

謝沛豪 提問者

非常感謝!
2016-04-10 回復 有任何疑惑可以回復我~
#4

qq電子時代 回復 請君莫問

你這個問題知道了嗎 ,要是知道了能回復我一下嗎
2016-04-24 回復 有任何疑惑可以回復我~
查看1條回復

去掉空格,第一個節點是”android ”;在谷歌瀏覽器下輸出document.write(a[0].nodeName);是文本#text,不是P


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

這個需要分瀏覽器,IE瀏覽器不會計算空格,但是谷歌瀏覽器會自動把空格計算上,因此節點長度會有所增加

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

div的第一個子節點應該就是p。

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

舉報

0/150
提交
取消

第一個div的子節點從哪里開始算起?

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

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

幫助反饋 APP下載

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

公眾號

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