问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-25 15:38

我来回答

1个回答

热心网友 时间:2022-04-07 06:18

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来插入新的节点前提是,其兄弟节点必须有共同的父节点
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 梦幻怎么升级快! js中的math对象有哪些常用的方法,其用法和作用是什么 7月5日西安到西宁的火车时刻表,急 梦幻西游怎么快速从69升到109级? 关于K线图问题 中国有几套战国编钟 我想骑自行车从西安去西宁,有谁知道走那条路,并介绍沿途各个县市。 js当中这个写法的作用是什么"() = 梦幻西游69级如何快速升到109 k线有什么用? 西安到西宁坐火车多长时间? js是什么意思?js运算符,+=什么意思? 西安到西宁自驾游路线 那位兄弟有 郭天祥(51单片机的书籍,好像有本是新概念) 什么是K线先跌后涨型? js的基本认识和什么是变量、运算符 今年退休人员名单 js函数返回值双竖线的作用 哪几种K线形态对股票买卖提示可信度比较高? 西安到西宁建议走法 编钟的特点及出现时间 西安到西宁怎么好走 请问js中return语句的作用和具体用法,请举一个例子 西安到西宁有多远。谢谢! 战国时期出土的编钟共有多少个? 西安到西宁高铁有多少趟车? 汽车中电路K线啥意思 编钟的资料 钟祥市博思实业有限公司怎么样? 在单片机里1到65535的数值定义 急,电脑进入桌面马上蓝屏!!高手帮忙分析下~ 钟双忆,钟欣余,钟蕊霞,钟欣霞,哪个名字好听? 肺上有肺气钟双肺下有多发小结节影多发增大淋巴结 我要淘宝买家信誉至少一颗红心,怎么升啊,是不是只要买东西就行了,如果卖家不给评价能升吗?求详细解答 淘宝网里怎样才能增加买家红心? 普洱茶散茶和饼茶价格在哪个范围,中低档的。 扫花呗的二维码怎么弄 花呗怎么扫二维码 花呗扫二维码怎么扫 现在市面上的普洱茶饼,价位水分有多大啊?柜台上标的价格一般能砍下几折来?