慕前端9656150
2016-08-15 23:00
var otest = document.getElementsByTagName("li");
var li=document.createElement("li");
li.innerHTML="PHP";
otest.insertBefore(li,otest[0])
这样写有什么问题
var ul=document.getElementById('test'); //获取父元素节点
var otest = document.getElementsByTagName("li");
var li=document.createElement("li");
li.innerHTML="PHP";
ul.insertBefore(li,otest[0]);//你错在这里,前面应该是要父元素节点,括号里面才是平级节点,
//我只能找出你错的地方,为什么前面需要父节点我也不太清楚,可能是API规定的
<script type="text/javascript"> var otest = document.getElementsByTagName('li')[0]; var new1 =document.createElement('li'); new1.innerHTML="new the li" otest.insertBefore(new1) </script>
可以这样写
insertBefore() 方法可在已有的子节点前插入一个新的子节点。根据定义,在otest.insertBefore() 当中,otest必须是父节点。你定义的otest变量不是父节点,而是由li标签组成的数组。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题