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 相关文章推荐
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 Javascript
URL地址中的#符号使用说明
Feb 12 Javascript
JQuery将文本转化成JSON对象需要注意的问题
May 09 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
Aug 12 Javascript
jquery实现不包含当前项的选择器实例
Jun 25 Javascript
JS图片压缩(pc端和移动端都适用)
Jan 12 Javascript
JavaScript输出所选择起始与结束日期的方法
Jul 12 Javascript
vue项目中使用百度地图的方法
Jun 08 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
Jul 24 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
Vue2项目中对百度地图的封装使用详解
Jun 16 Vue.js
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
PHP面向对象分析设计的经验原则
2008/09/20 PHP
PHP 防恶意刷新实现代码
2010/05/16 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
php 删除cookie方法详解
2014/12/01 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
js 窗口抖动示例
2013/09/04 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
Python安装selenium包详细过程
2019/07/23 Python
python @propert装饰器使用方法原理解析
2019/12/25 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
运动会解说词100字
2014/01/31 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
六一儿童节标语
2014/10/08 职场文书
世界遗产导游词
2015/02/13 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
高三化学教学反思
2016/02/22 职场文书