又是克死在js上我就不信我学不好你。。。麻痹、

前几天做了一个js的面试题,第一题就是要求在两个div中间插入一个div节点,竟然蛋疼的一紧张没做出来,只写出了思路,今天把代码写在这里,权当鞭策自己!! html结构如下:

<div> <div id=”1″></div> <div id=”2″></div> <div id=”3″></div> </div>

方法1:可以用js自带的insertBefore()将新节点插入2之前:

<script type="text/javascript">
  var oTest = document.getElementById("1").parentNode;  
  var newNode = document.createElement("div");  
  newNode.innerHTML = "This is a test";  
  var t=document.getElementById("2"); 
  oTest.insertBefore(newNode,t); 
</script>

方法2:构建insterAfter()函数,将节点插入1之后:

<script type="text/javascript">
function insterAfter(a,b)
{
  if(b.parentNode.lastChild==b)
  {
    b.parentNode.appendChild(a);
  }
  else
  {
    b.parentNode.insertBefore(a,b.nextsibling);
  }
}
var newNode = document.createElement("div");     
newNode.innerHTML = "This is a test";     
var t=document.getElementById("1");    
insterAfter(newNode,t); 
</script>

你可能感兴趣的:(又是克死在js上我就不信我学不好你。。。麻痹、)