这几天需要用到对HTML节点元素的删/插操作,由于用到insertBefore方法的时候遇到了一些麻烦,现在作为知识的整理,分别对
appendChild、insertBefore和insertAfter做个总结
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+
添加一个节点到指定的节点的子节点数组中,读起来好象有点拗口,简单地说就是将元素添加到指定的节点中
appendChild用法
target.appendChild(newChild)
newChild作为target的子节点插入最后的一子节点之后
appendChild例子
var
newElement
=
document.Document.createElement(
'
label
'
);
newElement.Element.setAttribute(
'
value
'
,
'
Username:
'
);
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
"
;
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来插入新的节点前提是,其兄弟节点必须有共同的父节点
转载请注明出处[http://samlin.cnblogs.com/
]
分享到:
相关推荐
几天需要用到对HTML节点元素的删/插操作,由于用到insertBefore方法的时候遇到了一些麻烦,现在作为知识的整理,分别对appendChild、insertBefore和insertAfter做个总结
总结来说,虽然DOM标准没有提供`insertAfter()`方法,但我们可以通过组合现有的方法,例如`insertBefore()`和`appendChild()`,以及通过编程判断目标元素位置,来实现这一功能。这样的方法不仅能够满足开发中的特定...
JavaScript 中的 AppendChild 和 InsertBefore 用法详细解析 在 JavaScript 中,appendChild 和 insertBefore 是两个常用的方法,用于在 DOM 中插入新的节点。但是,很多开发者对这两个方法的使用和区别不是很清楚...
同时,appendTo、prependTo、insertBefore和insertAfter则是对应的以元素为目标的选择器方法。了解这些方法的特性及注意事项,对于提高页面交互的开发效率和准确性至关重要。 首先,我们来看看append方法。append...
21、原生JavaScript中有insertBefore方法,可惜却没有insertAfter方法?用如下函数实现 22、原生JavaScript中兼容浏览器绑定元素事件 23、原生JavaScript光标停在文字的后面,文本框获得焦点时调用 24、原生JavaScript...
不过需要强调的是,虽然在JavaScript中没有内置的insertAfter()方法,但是通过现有的DOM操作API,如appendChild()和insertBefore()等,我们可以实现类似的功能。这些知识点不仅对于理解文档中的示例代码至关重要,也...
在使用jQuery时,我们可以直接调用`insertAfter()`方法来进行元素的插入操作,但理解原生JavaScript实现的方法原理对于我们理解DOM操作以及调试和维护代码都是非常有帮助的。 此外,在使用上述函数时,还应注意以下...
其中,对节点进行插入和移动操作是非常常见的需求,而jQuery通过提供了一组简单易用的方法来实现这些操作,本文将详细介绍其中的insertAfter和insertBefore方法。 ### 插入节点 在进行DOM元素插入操作时,我们可以...
在这个讨论中,我们将深入理解JavaScript中的DOM操作,特别是`insertAfter()`函数,这是一个非标准但非常实用的方法,用于在已存在元素之后插入新的元素。 `insertAfter()`函数,如文件描述所示,是JavaScript标准...
在JavaScript中,DOM操作是构建动态网页的关键技术之一。`insertAfter()`方法是一个非常实用的函数,用于在已有的DOM元素之后插入新的元素。虽然JavaScript的原生DOM API并未提供这个方法,但我们可以自定义一个函数...
首先,让我们深入探讨JavaScript中非常重要的DOM操作方法:appendChild和insertBefore。 appendChild方法用于将一个节点添加到指定节点的子节点列表的末尾。它的使用非常直接,接受一个参数newChild,代表即将添加...
至于插入新元素,`JavaScript` 的 `insertBefore()` 方法需要指定目标元素作为参数,而 `jQuery` 提供了 `after()`, `insertAfter()`, `before()`, `insertBefore()` 四个方法,操作起来更为直观。 除了以上提到的...
JavaScript原生没有`insertAfter`,但可以通过`insertBefore`实现: ```javascript function insertAfter(newChild, refChild) { var parElem = refChild.parentNode; if (parElem.lastChild == refChild) { ...
JavaScript DOM(Document Object Model)是用于操作HTML和XML文档的标准接口。它允许程序和脚本动态更新、添加或删除页面中的元素和...掌握DOM操作是任何JavaScript开发者必备的技能之一,尤其是在进行前端开发时。
4. **插入或移除行**:使用`insertBefore`或`insertAfter`方法将行插入到正确的位置,或者使用`removeChild`方法移除原位置的行。 5. **保持数据绑定**:如果表格数据与后台数据库绑定,那么在移动行之后,还需要...
原生JavaScript中有insertBefore方法,可惜却没有insertAfter方法?用如下函数实现 - **功能概述**:实现在DOM树中插入元素的功能。 - **应用场景**:构建复杂的DOM结构。 - **实现方式**:自定义函数实现`...