`

appendChild与insertBefore用法比较

阅读更多
我们知道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() 方法在节点的子节点列表任意位置插入新的节点。
分享到:
评论

相关推荐

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

    但是,很多开发者对这两个方法的使用和区别不是很清楚,本文将详细解析这两个方法的用法和区别。 appendChild 方法 appendChild 方法用于将一个新的节点添加到指定的节点的子节点数组中。该方法的语法结构如下所示...

    js AppendChild与insertBefore用法详细对比

    在这部分工作中,最常使用的两个方法就是appendChild()和insertBefore()。尽管这两个方法都用于向文档中添加节点,但它们之间的使用方式及细节存在一些差异。 appendChild()方法是最基本的添加节点方法,它的作用是...

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

    4. 使用appendChild和insertBefore方法时,必须确保涉及的节点有共同的父节点。 希望这些知识点能够帮助到需要操作DOM的JavaScript开发者们,并在项目中熟练运用这些方法来构建动态的网页内容。

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

    语法:appendChild(newchild) insertBefore() 方法:可在已有的子节点前插入一个新的子节点。语法 :insertBefore(newchild,refchild) 相同之处:插入子节点 不同之处:实现原理方法不同。 appendChild方法是在父级...

    JavaScript之appendChild、insertBefore和insertAfter使用说明

    几天需要用到对HTML节点元素的删/插操作,由于用到insertBefore方法的时候遇到了一些麻烦,现在作为知识的整理,分别对appendChild、insertBefore和insertAfter做个总结

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

    `appendChild()` 和 `insertBefore()` 是两个非常重要的方法,用于在已有节点的子节点列表中添加新节点。 `appendChild()` 方法用于将一个节点添加到指定父节点的子节点列表的末尾。这意味着新节点始终会被放置在...

    服务端拼接json数据格式的正确写法(Append方式)

    您可能感兴趣的文章:node.js中的fs.appendFile方法使用说明JavaScript利用append添加元素报错的解决方法js AppendChild与insertBefore用法详细对比js中AppendChild与insertBefore的用法详细解析j

    javascript使用appendChild追加节点实例

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

    js在指定位置增加节点函数insertBefore()用法实例

    本文实例讲述了js在指定位置增加节点函数insertBefore()用法。分享给大家供大家参考。具体分析如下: 函数原型如下: insertBefore(参数1,参数2):在指定位置添加节点 具体代码如下: 代码如下:&lt;html&gt; &lt;...

    javascriptjs创建节点

    可以使用 createElement()、createTextNode() 和 cloneNode() 等方法来创建节点,并使用 appendChild()、insertBefore() 等方法将节点添加到文档中。需要注意的是,创建的节点不会自动添加到文档中,需要手动将其...

    C#操作XML时,对xmlNode增、删、改操作

    在C#中,可以使用AppendChild()、InsertAfter()或InsertBefore()方法将新创建的节点添加到XML文档中。AppendChild()方法将新节点添加到指定节点的子节点列表的末尾,而InsertAfter()和InsertBefore()方法可以将新...

    document.createElement()用法

    document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用。其中,appendChild() 方法在节点的子节点列表末添加新的子节点。insertBefore() 方法在节点的子节点列表任意...

    用C#做的XML完整例子

    增加新元素可以使用CreateElement方法,然后通过AppendChild或InsertBefore方法将其添加到父元素中: ```csharp XmlElement child = doc.CreateElement("Child"); root.AppendChild(child); ``` 修改XML节点: ...

    XML.zip_xml

    DOM解析允许直接创建新节点并使用appendChild、insertBefore等方法插入。SAX解析不支持直接插入,但可以在解析过程中收集信息,然后在解析完成后用其他工具添加。 删除XML元素时,DOM解析器可以使用removeChild方法...

    Professional.JavaScript.rar

    3. 插入元素:appendChild、insertBefore等方法将元素插入到DOM树中。 4. 删除元素:removeChild方法可以删除指定的子元素。 5. 修改元素属性:通过元素对象的属性或innerHTML属性修改元素内容和样式。 三、事件...

Global site tag (gtag.js) - Google Analytics