target.insertBefore(newChild,existingChild)
参数说明:
1.target:被添加节点和现有节点的父节点。
2.newChild:将要被插入的节点。
3.existingChild:现有的节点,新节点将会被插入到它的前面,此参数值可以为null。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>insertBefore()函数-蚂蚁部落</title>
<script type="text/javascript">
window.onload=function()
{
var obox=document.getElementById("box");
var lis=document.getElementsByTagName("li");
var newLi=document.createElement("li");
newLi.innerHTML="新蚂蚁部落";
obox.insertBefore(newLi,lis[1]);
}
</script>
</head>
<body>
<ul id="box">
<li>蚂蚁部落一</li>
<li>蚂蚁部落二</li>
<li>蚂蚁部落三</li>
<li>蚂蚁部落四</li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>insertBefore()函数-蚂蚁部落</title>
<script type="text/javascript">
window.onload=function()
{
var obox=document.getElementById("box");
var lis=document.getElementsByTagName("li");
var newLi=document.createElement("li");
newLi.innerHTML="新蚂蚁部落";
obox.insertBefore(newLi,null);
}
</script>
</head>
<body>
<ul id="box">
<li>蚂蚁部落一</li>
<li>蚂蚁部落二</li>
<li>蚂蚁部落三</li>
<li>蚂蚁部落四</li>
</ul>
</body>
</html>

二.appendChild()函数:
此函数可以在父节点的内部的尾部追加一个新的节点。

target.appendChild(newChild)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>insertBefore()函数-蚂蚁部落</title>
<script type="text/javascript">
window.onload=function()
{
var obox=document.getElementById("box");
var lis=document.getElementsByTagName("li");
var newLi=document.createElement("li");
newLi.innerHTML="新蚂蚁部落";
obox.appendChild(newLi);
}
</script>
</head>
<body>
<ul id="box">
<li>蚂蚁部落一</li>
<li>蚂蚁部落二</li>
<li>蚂蚁部落三</li>
<li>蚂蚁部落四</li>
</ul>
</body>
</html>

三.insertAfter函数:

   虽然DOM中没有提供insertAfter方法,但是我们可以通过insertBefore方法去完成这个方法的实现:

function insert​After(newElement, targetElement) {

         var parent = targetElement​.parentNode;

         if(parent.lastChild == targetElement) {

               ​parent.appendChild(newElement);

        }​

         else {

              parent.insertBefore(newElement, targetElement.nextSibling);​

        }​

}​

下面,请看看这个函数是如何一步一步地完成工作的​

(1)首先,这个函数有两个参数:一个是将被插入的新元素,另一个是目标元素。这两个参数通过变量newElement和targetElement被传递到这个函数;

(2)把目标元素的parentNode属性值保存到变量parent里;

(3)接下来,检查目标元素是不是parent的最后一个子元素;

(4)如果是,就用appendChild方法把新元素追加到parent元素上,这样新元素就恰好被插入目标元素之后;

(5)如果不是,就把新元素插入到目标元素和目标元素的下一个兄弟元素之间,目标元素的下一个兄弟元素即目标元素的nextSibling属性,用insertBefore方法把新元素插入到目标元素的下一个兄弟元素之前。

最新文章

  1. Java笔记:修饰符
  2. Ajax与Comet
  3. Easyui datebox 限制时间选择范围
  4. linux arch目录下处理器体系架构介绍
  5. Code Contracts for .NET
  6. dojo.publish 和 dojo.subscribe
  7. 在windows下配置pthread
  8. Yii 的AR单行数据自动缓存机制
  9. Asteroids
  10. codeforces 6A. Triangle
  11. 在iOS应用程序中使用Frida绕过越狱检测
  12. 【BZOJ2959】长跑(Link-Cut Tree,并查集)
  13. Matlab图像处理常用基本函数
  14. 当Django中Debug=False,静态文件处理方式。
  15. adb+monkey压力测试入门
  16. Manjaro更新出现冲突
  17. Codeforces 1097G Vladislav and a Great Legend [树形DP,斯特林数]
  18. VS2015离线安装NuGet Package
  19. angular2组件通讯的几种方式
  20. Android-Anim-Playground

热门文章

  1. Unity中的Mathf类
  2. LanSoEditor_advance1.8.0 视频编辑的高级版本
  3. C#编程之“串口通讯多次接收”
  4. 获取Java的32位MD5实现
  5. STM32F2系列系统时钟默认配置
  6. 第一百二十节,JavaScript事件对象
  7. [SQL基础教程] 3-4 对查询结果进行排序/ORDER BY
  8. 调皮的R文件,卑鄙的空格
  9. HUD 1171 Big Event in HDU(01背包)
  10. 关于Java集合