初学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实现动态增加文件域表单
Feb 12 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
Jan 24 Javascript
js变量以及其作用域详解
Jul 18 Javascript
jQuery $.data()方法使用注意细节
Dec 31 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
May 28 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
如何改进javascript代码的性能
Apr 02 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 Javascript
Google 地图API Map()构造器详解
Aug 06 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
javascript实现简易聊天室
Jul 12 Javascript
nuxt.js写项目时增加错误提示页面操作
Nov 05 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 文件扩展名 获取函数
2009/06/03 PHP
php二分查找二种实现示例
2014/03/12 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
Python 深入理解yield
2008/09/06 Python
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
python 字符串和整数的转换方法
2018/06/25 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
绿色环保口号
2014/06/12 职场文书
大学迎新标语
2014/06/26 职场文书
学校实习推荐信
2015/03/27 职场文书
毕业实习感受与体会
2015/05/26 职场文书
名人传读书笔记
2015/06/26 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
js不常见操作运算符总结
2021/11/20 Javascript
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android
JavaScript实现音乐播放器
2022/08/14 Javascript