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

有没有大神 看看我这个代码

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>

<ul id="test"><li>HTML</li><li>JavaScript</li><li>HTML</li><li>HTML</li><li>JavaScript</li></ul> 
 
<script type="text/javascript">

  var otest = document.getElementById("test");  
  
  var phpli = document.createElement("li");
  
  phpli.innerHTML = "php";
  
  var allli = document.getElementsByTagName("li");
  
  otest.insertBefore(phpli,allli[1]);//为什么这3个插入语句最后只插入了一条呢  搞不懂  有没有大神解释下呢~~~
  otest.insertBefore(phpli,allli[2]);
  otest.insertBefore(phpli,allli[3]);

  
  // for(var i=0;i<allli.length;i++){
  //   if(allli[i].innerHTML == "HTML"){
  //   	document.write(allli[i].innerHTML);
  //      otest.insertBefore(phpli,allli[i]);
  //   }
  // }
  
  
</script> 

</body>
</html>


正在回答

1 回答

这个是这样的,当如果反复插入一个节点的时候是相当于把原来的节点剪切后再复制的,因为当你创建了一个节点,它的地址是固定的,所以当插入的时候都会检验是否存在这个节点,如果存在就剪切复制,如果不存在就添加上这个节点

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

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信