JavaScript之appendChild、insertBefore和insertAfter使用说明


Posted in Javascript onDecember 30, 2010

appendChild定义
appendChild(newChild: Node) : Node
Appends a node to the childNodes array for the node.
Supported: IE 5.0+, Mozilla 1.0+, Netscape 6.0+, Safari 1.0+, Opera 7.0+
添加一个节点到指定的节点的子节点数组中,读起来好象有点拗口,简单地说就是将元素添加到指定的节点中
appendChild用法
target.appendChild(newChild)
newChild作为target的子节点插入最后的一子节点之后
appendChild例子

var newElement = document.Document.createElement('label'); 
newElement.Element.setAttribute('value', 'Username:'); 
var usernameText = document.Document.getElementById('username'); 
usernameText.appendChild(newElement);

insertBefore定义
The insertBefore() method inserts a new child node before an existing child node.
insertBefore() 方法的作用是:在现有的子节点前插入一个新的子节点
insertBefore用法
target.insertBefore(newChild,existingChild)
newChild作为target的子节点插入到existingChild节点之前
existingChild为可选项参数,当为null时其效果与appendChild一样

insertBefore例子

var oTest = document.getElementById("test"); 
var newNode = document.createElement("p"); 
newNode.innerHTML = "This is a test"; 
oTest.insertBefore(newNode,oTest.childNodes[0]);

好了那么有insertBefore的应该也有insertAfter吧?
好那我们来用Aptana编写一个例子吧,但Aptana的智能提示告诉我其实没有insertAfter这个方法
那么就自己定义一个罗:)
insertAfter定义
function insertAfter(newEl, targetEl) 
{ 
var parentEl = targetEl.parentNode; 
if(parentEl.lastChild == targetEl) 
{ 
parentEl.appendChild(newEl); 
}else 
{ 
parentEl.insertBefore(newEl,targetEl.nextSibling); 
} 
}

insertAfter用法与例子
var txtName = document.getElementById("txtName"); 
var htmlSpan = document.createElement("span"); 
htmlSpan.innerHTML = "This is a test"; 
insertAfter(htmlSpan,txtName);

将htmlSpan 作为txtName 的兄弟节点插入到txtName 节点之后

总结:
1、appendChild和insertBefore是做对节点的方法来使用的,而insertAfter只是自定义的一个函数
2、insertBefore相对于appendChild来说,比较灵活可以将新的节点插入到目标节点子节点数组中的任一位置。
3、使用appendChild和insertBefore来插入新的节点前提是,其兄弟节点必须有共同的父节点

Javascript 相关文章推荐
JavaScript入门教程(3) js面向对象
Jan 31 Javascript
javascript eval和JSON之间的联系
Dec 31 Javascript
jquery下操作HTML控件的实现代码
Jan 12 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 Javascript
jQuery中:hidden选择器用法实例
Dec 30 Javascript
JavaScript实现简单的二级导航菜单实例
Apr 15 Javascript
Ajax的概述与实现过程
Nov 18 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
May 17 Javascript
详解babel升级到7.X采坑总结
May 12 Javascript
javascript数组的定义及操作实例
Nov 10 Javascript
Vue.js watch监视属性知识点总结
Nov 11 Javascript
three.js利用射线Raycaster进行碰撞检测
Mar 12 Javascript
Javascript事件热键兼容ie|firefox
Dec 30 #Javascript
某人初学javascript的时候写的学习笔记
Dec 30 #Javascript
Javascript延迟执行实现方法(setTimeout)
Dec 30 #Javascript
JavaScript的document对象和window对象详解
Dec 30 #Javascript
javascript hashtable 修正版 下载
Dec 30 #Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
Dec 30 #Javascript
javascript中创建对象的三种常用方法
Dec 30 #Javascript
You might like
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
浅谈Python的文件类型
2016/05/30 Python
json跨域调用python的方法详解
2017/01/11 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
python简单操作excle的方法
2018/09/12 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
Python pandas库中的isnull()详解
2019/12/26 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
python对一个数向上取整的实例方法
2020/06/18 Python
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
日语专业推荐信
2013/11/12 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
公务员年度个人总结
2015/02/12 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书