初学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操作XML实例代码(获取新闻标题并分页,并分页)
May 25 Javascript
理解Javascript_13_执行模型详解
Oct 20 Javascript
js函数获取html中className所在的内容并去除标签
Sep 08 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
May 05 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
Jquery轮播效果实现过程解析
Mar 30 Javascript
jQuery Mobile 触摸事件实例
Jun 04 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
Nov 27 Javascript
jquery中用函数来设置css样式
Dec 22 Javascript
微信小程序访问node.js接口服务器搭建教程
Apr 25 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
Apr 26 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实现的Captcha验证码类实例
2014/09/22 PHP
php中explode函数用法分析
2014/11/15 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
简短大学毕业感言
2014/01/18 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL
MySQL普通表如何转换成分区表
2022/05/30 MySQL
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server