為什么換一種寫法,得到的結果不一樣
為什么換一種寫法后,輸出的結果就不一樣了
<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后面