初学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 相关文章推荐
javascript常用功能汇总
Jul 05 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
Mac下使用charles遇到的问题以及解决办法
Jan 10 Javascript
微信小程序中做用户登录与登录态维护的实现详解
May 17 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
js中apply和Math.max()函数的问题及区别介绍
Mar 27 Javascript
对node.js中render和send的用法详解
May 14 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
Aug 14 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
Feb 12 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
Jun 05 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 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
用PHP函数解决SQL injection
2006/12/09 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
php读取文件内容到数组的方法
2015/03/16 PHP
JS日历 推荐
2006/12/03 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
javascript 实现map集合
2015/04/03 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
python利用正则表达式提取字符串
2016/12/08 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
实习求职信
2013/12/01 职场文书
公司授权委托书
2014/04/04 职场文书
小学优秀学生评语
2014/12/29 职场文书
实习介绍信模板
2015/01/30 职场文书
工作推荐信模板
2015/03/25 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
暂住证明怎么写
2015/06/19 职场文书
教师节简报
2015/07/20 职场文书
创业计划书之家教中心
2019/09/25 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python