JavaScript中appendChild与insertBefore节点插入方法详解
本文详细解析JavaScript中DOM节点插入的核心方法。重点介绍appendChild将子节点追加到末尾,以及insertBefore在指定节点前插入子节点的用法与参数差异。此外,文章提供了自定义insertAfter函数的实现方案,用于解决原生API不支持后置插入的问题,并总结了各方法的适用场景与注意事项。
appendChild方法详解
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+ 添加一个节点到指定的节点的子节点数组中,读起来好象有点拗口,简单地说就是将元素添加到指定的节点中
newChild作为target的子节点插入最后的一子节点之后
appendChild例子 var newElement = document.Document.createElement('label'); newElement.Element.setAttribute('value', 'Username:');
insertBefore方法详解
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";
自定义insertAfter函数实现
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来插入新的节点前提是,其兄弟节点必须有共同的父节点
JavaScript零基础入门:从环境搭建到运行第一段代码
2026-11-05 15:29:58
HTML链接中javascript:void(0)的作用及现代替代方案
2026-11-05 10:07:47
在线调试 JS 时怎么引入 jQuery 或 Vue 等第三方库
2026-11-05 08:53:56
原生JavaScript实现简易颜色选择器原理与代码
2026-11-03 23:22:19
JS原生表单序列化:FormData与URLSearchParams用法详解
2026-11-03 23:13:21
