初学js插入节点appendChild insertBefore使用方法


Posted in Javascript onJuly 04, 2011

首先 从定义来理解 这两个方法:
appendChild() 方法:可向节点的子节点列表的末尾添加新的子节点。语法:appendChild(newchild)
insertBefore() 方法:可在已有的子节点前插入一个新的子节点。语法 :insertBefore(newchild,refchild)
相同之处:插入子节点
不同之处:实现原理方法不同。

 appendChild方法是在父级节点中的子节点的末尾添加新的节点(相对于父级节点 来说)。

insertBefore 方法 是在已有的节点前添加新的节点(相对于子节点来说的)。
来看个这个简单的实例:在id为box-con 的末尾添加一个子节点div

<div class="btns"><input type="button" value="插入元素" id="creatbtn"/></div> 
<div id="box-one"> 
<p class="con2" id="p1">1</p> 
<p class="con2" >2</p> 
<p class="con2" >3</p> 
</div>

window.onload = function () { 
var btn = document.getElementById("creatbtn"); 
btn.onclick = function() { 
insertEle(); 
} 
} 
function insertEle() { 
var oTest = document.getElementById("box-one"); 
var newNode = document.createElement("div"); 
newNode.innerHTML = " This is a newcon "; 
//oTest.appendChild(newNode); 
oTeset.insertBefore(newNode,null); // 这两种方法均可实现 
}

这个insertBefore 的第一个参数 和appendChild的一样,都是那个新的节点变量,而insert第二个参数不仅可以为null 。也可以这样写呢
function insertEle() { 
var oTest = document.getElementById("box-one"); 
var newNode = document.createElement("div"); 
var reforeNode = document.getElementById("p1"); 
newNode.innerHTML = " This is a newcon "; 
oTest.insertBefore(newNode,reforeNode); // 新建的元素节点插入到 id为p1的元素前面 
}

或者
function insertEle() { 
var oTest = document.getElementById("box-one"); 
var newNode = document.createElement("div"); 
var reforeNode = document.getElementById("p1"); 
newNode.innerHTML = " This is a newcon "; 
oTest.insertBefore(newNode,reforeNode.nextSibling);//新建的元素节点插入到 id为p1后面节点元素的 前面, 














也就是说 插入id为P1节点元素的后面。 
}

这里想说的是 nextSibling :某个元素之后紧跟的元素(处于同一树层级中)。

reforeNode.nextSibling :取得的是reforeNode对象的紧跟着的下一个节点。

previousSibling - 取得某节点的上一个同级节点

由于可见insertBefore()方法的特性是在已有的子节点前面插入新的节点但是两种情况结合起来发现insertBefore()方法插入节点,是可以在子节点列表的任意位置。

呵呵呵。。。有些方法不只是作用于定义的那些特性,只要 符合语法,结合一些属性总会有意想不到的收获。

作为初学者,我懂的不多,或许我的理解还很浅薄,有些可能理解错了,希望看到的能够给我提点下,我不求别的,我只希望在这里记录点点滴滴和吸取大家的建议 来促进我的成长。。。

Javascript 相关文章推荐
jQuery对象和DOM对象的相互转化实现代码
Mar 02 Javascript
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
Aug 09 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 Javascript
js 数组操作之pop,push,unshift,splice,shift
Jan 29 Javascript
JavaScript显示当前文档最后修改日期的方法
Mar 19 Javascript
jQuery居中元素scrollleft计算方法示例
Jan 16 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
Dec 20 Javascript
vue基于两个计算属性实现选中和全选功能示例
Feb 08 Javascript
webpack 最佳配置指北(推荐)
Jan 07 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
Jul 04 #Javascript
js静态方法与实例方法分析
Jul 04 #Javascript
JavaScript 变量作用域分析
Jul 04 #Javascript
JavaScript XML和string相互转化实现代码
Jul 04 #Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
Jul 04 #Javascript
jQuery 对Select的操作备忘记录
Jul 04 #Javascript
javascript开发技术大全 第4章 直接量与字符集
Jul 03 #Javascript
You might like
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
php的memcached客户端memcached
2011/06/14 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
关于PHP定时发送服务的解决办法
2017/04/23 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
python将音频进行变速的操作方法
2020/04/08 Python
用python制作个视频下载器
2021/02/01 Python
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
岗位职责怎么写
2014/03/14 职场文书
建设工地安全标语
2014/06/07 职场文书
白酒营销策划方案
2014/08/17 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
文明上网主题班会
2015/08/14 职场文书
导游词之河北邯郸
2019/09/12 职场文书