為什么換一種寫法,得到的結果不一樣
為什么換一種寫法后,輸出的結果就不一樣了
<ul?id="tost"><li>JavaScript</li><li>HTML</li></ul>
<script>
var?tost?=?document.getElementById("tost");
var?newnode=document.createElement("li");
newnode.innerHTML="PHP";
tost.insertBefore(newnode,tost.lastChild);
</script>??這個得到的結果是?
JavaScript
????????PHP
????????HTML
????????換這樣寫就不一樣了
????????<ul?id="tost">
<li>JavaScript</li>
<li>HTML</li>
</ul>
<script>
var?tost?=?document.getElementById("tost");
var?newnode=document.createElement("li");
newnode.innerHTML="PHP";
tost.insertBefore(newnode,tost.lastChild);
</script>?另一種結果
JavaScript
????????HTML
????????PHP?這是為什么呢
2017-07-25
已結找到原因了,換行寫就存在了空白節點,這樣的話,astchild最后一個節點就不是<li>HTML</li>了,而是一個空白的節點,所以得到的結果就是插入的PHP在 HTML后面