文本節點的值的問題?
第一個節點:javascript
第1個節點的名稱是:#text
第1個節點的類型是:3
第1個節點的值是:
?javascript ?
?
第三個節點(p是第二個節點):<p>javascript</p>
第3個節點的名稱是:#text
第3個節點的類型是:3
第3個節點的值是:?
為什么第三個節點沒有輸出值value
第一個節點:javascript
第1個節點的名稱是:#text
第1個節點的類型是:3
第1個節點的值是:
?javascript ?
?
第三個節點(p是第二個節點):<p>javascript</p>
第3個節點的名稱是:#text
第3個節點的類型是:3
第3個節點的值是:?
為什么第三個節點沒有輸出值value
2016-12-08
舉報
2016-12-08
來來來,我們來好好理解一下哈。
首先理解父節點和子節點的概念。子節點是父節點所包含的,父節點下一級的節點。也就是說,父節點下還可能有下兩級的節點哦,但是那不是父節點的子節點,而是父節點的“孫節點”
看代碼:
先不管什么空白節點,看著代碼,我們來數一數div下面有幾個子節點:javascript是文本節點,第一個。p標簽是第二個,div是第三個,h5是第四個子節點。ok,子節點是4,然后我們運行代碼,假設你代碼都對了,出來的結果是幾個子節點呢?7個!
所以還有3個是什么呢?是瀏覽器認為的,在節點之間存在的文字節點!因為節點之間沒有內容,所以才是空白的,稱之為空白節點!
看代碼:
一共是3個空白節點,那么為啥開頭的div和javascript之間沒有空白節點呢?因為javascript本身就是文本節點,在這里充當了div和p標簽之間的”空白節點“,但是它不是空白的呦,是有值的文本節點。
也就是說,關鍵不是空白節點,而是文本節點,瀏覽器認為在節點之間必須存在文本節點,如果沒有就給你加上空白節點!如果有就不加了
回到你的問題,為啥Value沒有值?它是空白節點哦,怎么有值?而只有第一個節點javascript是有值的
不要把第三 第五 第七 節點理解為p div h5標簽中的文本哦,那個也是文本節點,但是是”孫節點“ ,是子節點的子節點。?
2017-03-05
謝謝,
2016-12-16
這個答案讓我明白了什么是空白節點。贊。
2016-12-14
解答的很清楚