浮若绊笙
2017-07-25 18:11
为什么换一种写法后,输出的结果就不一样了
<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 这是为什么呢
已结找到原因了,换行写就存在了空白节点,这样的话,astchild最后一个节点就不是<li>HTML</li>了,而是一个空白的节点,所以得到的结果就是插入的PHP在 HTML后面
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题