`
小杨学JAVA
  • 浏览: 900636 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JS(JavaScript)插入节点的方法appendChild与insertBefore

 
阅读更多

 

首先 从定义来理解 这两个方法:

appendChild() 方法:可向节点的子节点列表的末尾添加新的子节点。语法:appendChild(newchild)

insertBefore() 方法:可在已有的子节点前插入一个新的子节点。语法 :insertBefore(newchild,refchild)

相同之处:插入子节点

不同之处:实现原理方法不同。

     appendChild方法是在父级节点中的子节点的末尾添加新的节点(相对于父级节点 来说)。

       insertBefore 方法 是在已有的节点前添加新的节点(相对于子节点来说的)。

<iframe id="aswift_0" style="left: 0px; position: absolute; top: 0px;" name="aswift_0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="728" height="90"></iframe>

来看个这个简单的实例:在id为box-con 的末尾添加一个子节点div

<div class="btns"><input type="button" value="插入元素" id="creatbtn"/></div>
<div   id="box-one">
<class="con2" id="p1">1</p>
<class="con2">2</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()方法插入节点,是可以在子节点列表的任意位置。

 

转自:http://www.cnblogs.com/ATree/archive/2011/09/26/JS-appendChild-insertBefore.html

分享到:
评论

相关推荐

    js中AppendChild与insertBefore的用法详细解析.docx

    在 JavaScript 中,appendChild 和 insertBefore 是两个常用的方法,用于在 DOM 中插入新的节点。但是,很多开发者对这两个方法的使用和区别不是很清楚,本文将详细解析这两个方法的用法和区别。 appendChild 方法 ...

    初学js插入节点appendChild insertBefore使用方法

    与appendChild()方法不同的是,insertBefore()方法除了要添加的新节点外,还需要一个参照节点作为第二个参数,指定新节点插入的具体位置。语法如下: ```javascript parent.insertBefore(newchild, refchild); ``` ...

    js AppendChild与insertBefore用法详细对比

    总结来说,appendChild()与insertBefore()都是JavaScript中用于添加DOM节点的重要方法。appendChild()简单易用,适用于在子节点列表末尾添加节点。而insertBefore()更为灵活,能够在列表中的任意位置插入节点。在...

    js中AppendChild与insertBefore的用法详细解析

    1. appendChild和insertBefore是原生DOM操作方法,用于向父节点添加或插入子节点。 2. insertAfter并不是DOM标准中的方法,但可以通过自定义函数来实现类似功能。 3. insertBefore提供了比appendChild更多的灵活性,...

    JavaScript之appendChild、insertBefore和insertAfter使用说明

    `appendChild`、`insertBefore`以及非标准的`insertAfter`方法都是用于管理DOM树中节点关系的重要方法。下面我们将详细探讨这三个方法的功能、用法及实际应用。 1. `appendChild(newChild: Node)`: 这个方法将`new...

    javascript使用appendChild追加节点实例

    如果需要一次添加多个节点,需要使用如appendChild的替代方法,比如insertBefore或replaceChild。此外,当使用appendChild方法添加元素到DOM中时,如果DOM树结构发生了变化,浏览器会自动进行重新渲染,这可能会引起...

    javascript节点属性和方法

    同时,DOM 还提供了一些方法来操作节点之间的关系,如 appendChild、insertBefore、removeChild 等。 要掌握 DOM,需要了解节点的属性和方法,以及节点之间的关系。只有这样,才能更好地控制和操作 HTML 文档的结构...

    JS添加多个子节点方法综合案例.zip

    - `insertBefore()`: 如果需要在某个特定位置插入节点,可以使用此方法,它会在目标节点之前插入新的子节点。 - `querySelector()`, `querySelectorAll()`: 这两个方法用于选取符合CSS选择器的单个或多个元素,为...

    JAVASCRIPT操作DOM建立增加删除克隆访问节点示例宣贯.pdf

    4. 插入节点到目标节点的前面 使用 `insertBefore()` 方法可以将节点插入到目标节点的前面。例如,`node.insertBefore(_span, _p);` 将 `&lt;span&gt;` 节点插入到 `&lt;p&gt;` 节点的前面。 5. 复制节点 使用 `cloneNode()` ...

    appendChild() 或 insertBefore()使用与区别介绍

    `appendChild()` 和 `insertBefore()` 是两个非常重要的DOM操作方法,它们用于在HTML文档中动态地添加和插入节点。 `document.createElement()` 方法是用来创建一个新的HTML元素。例如,在例1、2、3中,我们分别...

    JavaScript:createElement和insertBefore

    obj = document.createElement(tag)创建一个标签,oParent.appendChild(obj)和oParent.insertBefore(obj,element)都是由要插入的标签的父节点调用,appendChild将创建的元素依次加在后面,而insertBefore则可以将...

    JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例

    除了添加子节点,还可以通过`insertBefore()`方法在现有子节点之前插入新的节点。这个方法需要两个参数:第一个是要插入的新节点,第二个是已存在的子节点。在`showesideinsert()`函数中,`str.insertBefore(strNode...

    javascript节点操作DOM属性和方法

    - 创建和插入节点:`document.createElement(tagName)` 创建新元素,`node.appendChild(child)` 在节点末尾添加子节点,`node.insertBefore(newChild, referenceChild)` 在指定子节点之前插入新节点。 - 删除节点:`...

    JS实现的DOM插入节点操作示例

    `insertBefore()`方法是JavaScript DOM中的一个重要函数,它允许我们在已有子节点的前面插入一个新的子节点。方法的基本语法如下: ```javascript node.insertBefore(newNode, refNode); ``` - `newNode`:表示要...

    jQuery和JavaScript节点插入元素的方法对比

    本文将对比jQuery和JavaScript在节点插入元素时的不同方法。 首先,我们关注jQuery的方法。jQuery库简化了DOM操作,提供了优雅的语法和高效的性能。对于节点内部插入元素,jQuery有以下四个主要方法: 1. `append...

    JavaScript DOM编程艺术 附录.pdf

    DOM提供了多种插入节点的方法,包括`appendChild()`和`insertBefore()`。`appendChild()`将一个节点添加到指定父节点的子节点列表的末尾,而`insertBefore()`则将一个节点插入到另一个节点之前: ```javascript // ...

    Javascript学习第一季--Javascript&nbsp;DOM&nbsp;总结.doc

    新创建的元素不会自动添加到文档中,需通过 `appendChild()`, `insertBefore()` 或 `replaceChild()` 方法将其插入。例如: ```javascript document.body.appendChild(a); ``` `createTextNode()` 用于创建文本...

    JavaScript节点.pdf

    3. 如果`targetElement`不是其父节点的最后一个子元素,我们查找它的下一个兄弟元素(`targetElement.nextSibling`),并使用`insertBefore()`方法将`newElement`插入到这个兄弟元素之前。 在实际应用中,我们可以...

Global site tag (gtag.js) - Google Analytics