我们知道appendChild和insertBefore都有插入节点的功能。但在应用上,这两者之间还是有一些区别的。
比如我们要在下面这个div中插入一个子节点P时:
<div id="test"><p id="x1">Node</p><p>Node</p></div>
我们可以这样写(测试某种情况时请将另外一种注释):
<script type="text/javascript">
var oTest = document.getElementById("test");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
//测试从这里开始
//appendChild方法:
oTest.appendChild(newNode);
//insertBefore方法:
oTest.insertBefore(newNode,null);
</script>
通过以上的代码,可以测试到一个新的节点被创建到了节点div下,且该节点是div最后一个节点。(如要查看DOM,IE可以通过IE Developer Toolbar插件来查看,Firefox可以使用Firebug)
很明显,通过这个例子,可以知道appendChildhild和insertBefore都可以进行插入节点的操作。
在上面的例子中有这样一句代码:oTest.insertBefore(newNode,null) ,这里insertBefore有2个参数可以设置,第一个是和appendChild相同的,第二却是它特有的。它不仅可以为null,还可以为:
<script type="text/javascript">
var oTest = document.getElementById("test");
var refChild = document.getElementById("x1");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
oTest.insertBefore(newNode,refChild);
</script>
这个例子将在x1节点前面插入一个新的节点
又或:
<script type="text/javascript">
var oTest = document.getElementById("test");
var refChild = document.getElementById("x1");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
oTest.insertBefore(newNode,refChild.nextSibling);
</script>
这个例子将在x1节点的下一个节点前面插入一个新的节点
还可为:
<script type="text/javascript">
var oTest = document.getElementById("test");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
oTest.insertBefore(newNode,oTest.childNodes[0]);
</script>
这个例子将在第一子节点前面插入一个新的节点,也可以通过改变childNodes[0,1,...]来在其它位置插入新的节点
由于可见insertBefore()方法的特性是在已有的子节点前面插入新的节点,但例一中使用insertBefore()方法也可以在子节点列表末插入新节点的。两种情况结合起来,发现insertBefore()方法插入节点,是可以在子节点列表的任意位置。
从这几个例子中得出:
appendChild() 方法在节点的子节点列表末添加新的子节点。
insertBefore() 方法在节点的子节点列表任意位置插入新的节点。
转自:该文转自http://blog.doyoe.com/article/174.htm,作者:飘零雾雨
分享到:
相关推荐
JavaScript 中的 AppendChild 和 InsertBefore 用法详细解析 在 JavaScript 中,appendChild 和 insertBefore 是两个常用的方法,用于在 DOM 中插入新的节点。但是,很多开发者对这两个方法的使用和区别不是很清楚...
几天需要用到对HTML节点元素的删/插操作,由于用到insertBefore方法的时候遇到了一些麻烦,现在作为知识的整理,分别对appendChild、insertBefore和insertAfter做个总结
总结来说,appendChild()与insertBefore()都是JavaScript中用于添加DOM节点的重要方法。appendChild()简单易用,适用于在子节点列表末尾添加节点。而insertBefore()更为灵活,能够在列表中的任意位置插入节点。在...
首先,让我们深入探讨JavaScript中非常重要的DOM操作方法:appendChild和insertBefore。 appendChild方法用于将一个节点添加到指定节点的子节点列表的末尾。它的使用非常直接,接受一个参数newChild,代表即将添加...
obj = document.createElement(tag)创建一个标签,oParent.appendChild(obj)和oParent.insertBefore(obj,element)都是由要插入的标签的父节点调用,appendChild将创建的元素依次加在后面,而insertBefore则可以将...
在DOM操作中,经常会需要向页面中添加新的元素节点,这时就可以使用appendChild和insertBefore两个方法。本文将详细介绍这两个方法的使用场景、语法以及它们之间的差异。 ### appendChild()方法 appendChild()方法...
在前端开发中,JavaScript是实现动态页面交互的核心语言之一。利用JavaScript,我们可以操作DOM(文档对象模型)来改变页面上的元素,而appendchild是其中常用的DOM操作方法,用于在指定父节点的子节点列表的末尾...
总的来说,`appendChild()` 和 `insertBefore()` 是JavaScript DOM操作中的基础工具,它们帮助开发者动态构建和修改页面内容,为网页带来丰富的交互性和动态性。理解和熟练使用这两个方法对于任何前端开发者来说都是...
`appendChild`用于在元素末尾添加子节点,`insertBefore`则可在指定子节点前插入新节点,`replaceChild`则替换已有子节点。 4. **属性操作**:`element.getAttribute()`用来获取元素属性值,`element.setAttribute...
需要注意的是,使用 createElement() 创建的节点不会自动添加到文档中,需要使用 appendChild() 或 insertBefore() 方法将其添加到文档中。 createTextNode() 方法 createTextNode() 方法用于创建一个新的文本节点...
- 操作DOM主要涉及节点的选择(如getElementById、getElementsByTagname等)、创建(createElement)、插入(appendChild、insertBefore)、删除(removeChild)等方法。 2. **HTML**: - HTML是超文本标记语言,...
- **插入节点**:使用`appendChild`、`insertBefore`等方法将新创建的节点插入到文档中。 - **删除节点**:使用`removeChild`方法来移除文档中的某个节点。 - **替换节点**:使用`replaceChild`方法来替换文档中的一...
例如,getElementById、getElementsByClassName和querySelector等函数用于选择特定元素,innerHTML和textContent属性用于读取和改变元素内容,而appendChild和insertBefore等方法则用于动态地创建和组织文档结构。...
新创建的元素不会自动添加到文档中,需通过 `appendChild()`, `insertBefore()` 或 `replaceChild()` 方法将其插入。例如: ```javascript document.body.appendChild(a); ``` `createTextNode()` 用于创建文本...
创建日历,你需要用到`document.createElement`来创建新的HTML元素,如`<table>`、`<tr>`、`<td>`等,然后利用`appendChild`或`insertBefore`方法将它们插入到页面的适当位置。 2. **事件处理**:日历可能需要响应...
JavaScript通过DOM(文档对象模型)接口来操作HTML元素,动态生成层通常涉及到`document.createElement()`方法创建新元素,`appendChild()`或`insertBefore()`方法将其插入到页面的指定位置,以及`innerHTML`属性...
3. DOM操作包括创建新元素(`document.createElement`),插入元素(`appendChild`、`insertBefore`),删除元素(`removeChild`)以及修改元素属性(`innerHTML`、`textContent`等)。 事件处理: 1. 事件是用户与...