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

使用getElementsByTagName("li")应该怎么写

var otest = document.getElementsByTagName("li");
var li=document.createElement("li");
li.innerHTML="PHP";
otest.insertBefore(li,otest[0])

这样写有什么问题

正在回答

3 回答

var ul=document.getElementById('test'); //获取父元素节点

var otest = document.getElementsByTagName("li");
var li=document.createElement("li");
li.innerHTML="PHP";
ul.insertBefore(li,otest[0]);//你错在这里,前面应该是要父元素节点,括号里面才是平级节点,

//我只能找出你错的地方,为什么前面需要父节点我也不太清楚,可能是API规定的

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

慕前端9656150 提问者

我可不可以这样理解 像插入节点 删除节点 替换节点 这些都是属性 有属性就需要有属性的对象, 所以前面要有父节点。
2016-08-16 回复 有任何疑惑可以回复我~
<script type="text/javascript">

  var otest = document.getElementsByTagName('li')[0];
  var new1 =document.createElement('li');
  new1.innerHTML="new the li"
  otest.insertBefore(new1)
  
  </script>

可以这样写

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

insertBefore() 方法可在已有的子节点前插入一个新的子节点。根据定义,在otest.insertBefore() 当中,otest必须是父节点。你定义的otest变量不是父节点,而是由li标签组成的数组。

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

举报

0/150
提交
取消

使用getElementsByTagName("li")应该怎么写

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