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来插入新的节点前提是,其兄弟节点必须有共同的父节点

原生js html insert,js中AppendChild与insertBefore的用法详细解析相关推荐

  1. oracle分组聚合查询,Oracle中分组查询group by用法规则解析

    本篇文章小编给大家分享一下Oracle中分组查询group by用法规则解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Oracle中group by ...

  2. PHP中使用CURL之php curl详细解析和常见大坑

    这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就"撩"下服务器 ...

  3. Linux内核中内存管理相关配置项的详细解析3

    接前一篇文章:Linux内核中内存管理相关配置项的详细解析2 5. 2:1 compression allocator (zbud) 对应配置变量为:CONFIG_ZBUD. 此项默认为选中(如果前一 ...

  4. C语言四川麻将算法,四川麻将中番种是如何计算的详细解析

    同城游中的四川麻将里都是有番数的,不过对新手玩家而言,计番是个头疼的问题,那么麻将中有都哪些番数呢?现在赶紧来看看四川麻将番种是如何计算的详细解析吧. 四川麻将中基础牌型(格)与基本番数 平胡:普通的 ...

  5. JS实现小球碰撞边界反弹-点击消失(详细解析实现思路)

    本篇文章给大家带来的是原生JS实现小球碰到边界就反弹,点击小球时小球被会销毁,并重新创建一个小球,让小球的数量一直保持在初始的数量,按照思路按步骤进行讲解,只需要源码的小伙伴可以定位到文本末尾直接复制 ...

  6. Java开发中业务层入参校验详细解析

    2019独角兽企业重金招聘Python工程师标准>>> 背景 首先,我们达成以下共识: 一个服务方法,如果入参太多,且基本为非pojo,会给调用方造成不必要的干扰.尽管可以把文档写的 ...

  7. Thinkphp中import的几个用法详细介绍

    下面附上import的几个用法介绍 1.用法一 import('@.Test.Translate'); @,表示项目根目录.假定根目录是:App/ 导入类库的路径是:App/Lib/Test/Tran ...

  8. c 语言 可变参数前要加形参,C/C++中可变参数的用法详细解析

    可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等.可变参数是实现printf(),sprintf()等函数的关键之处, ...

  9. C++中函数模板的用法详细解析

    所谓函数模板实际上是建立一个通用函数,其涵涵素类型额形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板 定义 我们知道函数的重载可以实现一个函数名多用,将功能相同或者类似函数用同一 ...

最新文章

  1. [转]SVN更新的时候前面字母的意思(U、G、A、R、C)
  2. linux shell 把一个文件的前n行 拷贝到另一个文件中
  3. android下音频采集功能,音频采集:Android基于AudioRecord的实现
  4. ArcSDE初学者需要弄清楚的几个问题(转载)
  5. python 股票自动交易从零开始_Python股票自动交易从零开始
  6. Mac下Git项目使用的.gitignore文件
  7. VUE:EventHub
  8. 【Spring】事务
  9. ajax怎么找回地址栏,使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL...
  10. 读书笔记_打开量化投资的黑箱06
  11. 设计模式--工厂模式(简单总结)
  12. web安全day27:linux下调整文件及目录权限
  13. 如何在Mac上将iCloud照片库备份到Mac硬盘?
  14. MATLAB怎么做出三叶玫瑰线,matlab复习题
  15. T(n) = 25T(n/5)+n^2的时间复杂度?
  16. Vue3初始化需要安装的插件
  17. Android添加Flurry统计
  18. 「13」朴素贝叶斯Python实战:计算打喷嚏的工人患病的概率
  19. 微圈社群助手到底是什么?怎么用?
  20. 深度强化学习-Q-learning解决悬崖寻路问题-笔记(三)

热门文章

  1. vue中使用window.postMessage
  2. vscode html安装包,VSCode软件安装
  3. Python boxplot去掉横坐标
  4. 信宜市职业技术学校计算机,信宜职业技术学校
  5. Java实现非对称加密
  6. 字符串压缩 牛客网 程序员面试金典 C++ Python
  7. vol.135 日本异闻录 · 阿佐谷隐藏的深夜食堂
  8. C#工业生产线MES系统,源代码分享
  9. [系统与指令]系统指令集-防御之星
  10. 杰里之解决开关机”POPO”声篇