为了账号安全,请及时绑定邮箱和手机立即绑定

为什么换一种写法,得到的结果不一样

为什么换一种写法后,输出的结果就不一样了

<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 这是为什么呢


正在回答

代码语言

1 回答

已结找到原因了,换行写就存在了空白节点,这样的话,astchild最后一个节点就不是<li>HTML</li>了,而是一个空白的节点,所以得到的结果就是插入的PHP在 HTML后面

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么换一种写法,得到的结果不一样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信