2012-09-19 54 views
1

以以下爲例:在HTML解析中,將<script>標記插入到DOM樹中?

<!DOCTYPE html> 
<html> 
<body> 

<h1>My First Heading</h1> 

<script> 
document.write("<p>My First JavaScript</p>"); 
</script> 

<h1>My Second Heading</h1> 

</body> 
</html> 

什麼是Element body的孩子嗎?它是否包含script,其本身包含p,還是包含p

回答

3

也沒有。

它將包含script元素,之後是腳本寫入文檔的p元素。

如果您檢查,在body元素結束的節點,你得到的東西是這樣的:

[object Text] 
[object HTMLHeadingElement] 
[object Text] 
[object HTMLScriptElement] 
[object HTMLParagraphElement] 
[object Text] 
[object HTMLHeadingElement] 
[object Text] 

DOM元素的準確命名各不相同,並且在文檔中的空白文本節點之間變化瀏覽器取決於如何解析HTML。 IE7和IE8例如僅報告四個對象(H1,腳本,P,H1),空白不包括作爲元素:

[object] 
[object] 
[object] 
[object] 

演示:http://jsfiddle.net/J69UA/1/