`
- 浏览:
37066 次
- 性别:
- 来自:
北京
-
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() 方法在节点的子节点列表任意位置插入新的节点。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
但是,很多开发者对这两个方法的使用和区别不是很清楚,本文将详细解析这两个方法的用法和区别。 appendChild 方法 appendChild 方法用于将一个新的节点添加到指定的节点的子节点数组中。该方法的语法结构如下所示...
在这部分工作中,最常使用的两个方法就是appendChild()和insertBefore()。尽管这两个方法都用于向文档中添加节点,但它们之间的使用方式及细节存在一些差异。 appendChild()方法是最基本的添加节点方法,它的作用是...
4. 使用appendChild和insertBefore方法时,必须确保涉及的节点有共同的父节点。 希望这些知识点能够帮助到需要操作DOM的JavaScript开发者们,并在项目中熟练运用这些方法来构建动态的网页内容。
语法:appendChild(newchild) insertBefore() 方法:可在已有的子节点前插入一个新的子节点。语法 :insertBefore(newchild,refchild) 相同之处:插入子节点 不同之处:实现原理方法不同。 appendChild方法是在父级...
几天需要用到对HTML节点元素的删/插操作,由于用到insertBefore方法的时候遇到了一些麻烦,现在作为知识的整理,分别对appendChild、insertBefore和insertAfter做个总结
`appendChild()` 和 `insertBefore()` 是两个非常重要的方法,用于在已有节点的子节点列表中添加新节点。 `appendChild()` 方法用于将一个节点添加到指定父节点的子节点列表的末尾。这意味着新节点始终会被放置在...
您可能感兴趣的文章:node.js中的fs.appendFile方法使用说明JavaScript利用append添加元素报错的解决方法js AppendChild与insertBefore用法详细对比js中AppendChild与insertBefore的用法详细解析j
如果需要一次添加多个节点,需要使用如appendChild的替代方法,比如insertBefore或replaceChild。此外,当使用appendChild方法添加元素到DOM中时,如果DOM树结构发生了变化,浏览器会自动进行重新渲染,这可能会引起...
本文实例讲述了js在指定位置增加节点函数insertBefore()用法。分享给大家供大家参考。具体分析如下: 函数原型如下: insertBefore(参数1,参数2):在指定位置添加节点 具体代码如下: 代码如下:<html> <...
可以使用 createElement()、createTextNode() 和 cloneNode() 等方法来创建节点,并使用 appendChild()、insertBefore() 等方法将节点添加到文档中。需要注意的是,创建的节点不会自动添加到文档中,需要手动将其...
在C#中,可以使用AppendChild()、InsertAfter()或InsertBefore()方法将新创建的节点添加到XML文档中。AppendChild()方法将新节点添加到指定节点的子节点列表的末尾,而InsertAfter()和InsertBefore()方法可以将新...
document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用。其中,appendChild() 方法在节点的子节点列表末添加新的子节点。insertBefore() 方法在节点的子节点列表任意...
增加新元素可以使用CreateElement方法,然后通过AppendChild或InsertBefore方法将其添加到父元素中: ```csharp XmlElement child = doc.CreateElement("Child"); root.AppendChild(child); ``` 修改XML节点: ...
DOM解析允许直接创建新节点并使用appendChild、insertBefore等方法插入。SAX解析不支持直接插入,但可以在解析过程中收集信息,然后在解析完成后用其他工具添加。 删除XML元素时,DOM解析器可以使用removeChild方法...
3. 插入元素:appendChild、insertBefore等方法将元素插入到DOM树中。 4. 删除元素:removeChild方法可以删除指定的子元素。 5. 修改元素属性:通过元素对象的属性或innerHTML属性修改元素内容和样式。 三、事件...