2013-03-30 78 views
0

如果我們嘗試獲取HTMLhtmlElement的firstChild節點,爲什麼不會出現文本節點(空格)?如果存在b/w html和head節點,文本節點會被忽略嗎?

在附圖中,<html><head>標記之間有一些空格,理想情況下,html節點的firstChild節點對象應該是文本節點而不是頭節點。

有沒有知道的錯誤?

我在Chrome中試過。

注意:空間b/w頭部和身體正確地反映在dom遍歷API調用中,例如nextSibling的頭部是本示例中的Text節點。

enter image description here

回答

2

因爲html element的內容模型不允許文字,所以任何空白可以有解析器被完全忽略。

將此與內容模型(比如說body element,即Flow Content)進行對比,其中列出(除其他之外)text。雖然我希望你會發現在<body>之後和另一個標籤(如<p>)之前的空白也將被忽略。我期望這包含在§8.2中描述的幾十種解析狀態之一中。