在学习DOM时我们知道有一个方法能将一个新元素插入到一个现有元素的前面,那就是insertBefore(),它的调用语法为:

parentElement.insertBefore(newElement,targetElement);

  可以看出,在使用此方法时,我们必须提供三个元素给它:
  1. 你想插入的新元素newElement。
  2. 你想把这个新元素插入到哪个目标元素(targetElement)之前。
  3. 目标元素的父元素parentElement。


  既然有insertBefore的方法,那也应该需要有个insertAfter,DOM并没有提供这种方法,我们可以自己动手写一个,将这个函数方法放入自己的javascript库里,以备不时之需。
  参照insertBefore,我们需要提供三个元素给insertAfter(),其中目标元素的父元素可以用targetElement.parentNode来代替。那么insertAfter()有两个参数,具体代码如下:

function insertAfter(newElement,targetElement){
  var parent=targetElement.parentNode;
  if(parent.lastChild==targetElement){
    //如果目标元素是其父元素的最后一个元素,则把新元素变成父元素的最后一个元素
    parent.appendChild(newElement);
  } else{
    //如果目标元素不是其父元素的最后一个元素,则把新元素放在和目标元素相邻的下一个兄弟元素的前面
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}

转载请注明出处:http://zhaoyuxiang.cn/blog/archivers/insertAfter