麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js AppendChild與insertBefore用法詳細(xì)對比

2019-11-20 21:27:31
字體:
供稿:網(wǎng)友

我們知道appendChild和insertBefore都有插入節(jié)點(diǎn)的功能。但在應(yīng)用上,這兩者之間還是有一些區(qū)別的。

比如我們要在下面這個(gè)div中插入一個(gè)子節(jié)點(diǎn)P時(shí):

<div id="test"><p id="x1">Node</p><p>Node</p></div>

我們可以這樣寫(測試某種情況時(shí)請將另外一種注釋):

復(fù)制代碼 代碼如下:

<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>

通過以上的代碼,可以測試到一個(gè)新的節(jié)點(diǎn)被創(chuàng)建到了節(jié)點(diǎn)div下,且該節(jié)點(diǎn)是div最后一個(gè)節(jié)點(diǎn)。(如要查看DOM,IE可以通過IE Developer Toolbar插件來查看,F(xiàn)irefox可以使用Firebug)

很明顯,通過這個(gè)例子,可以知道appendChildhild和insertBefore都可以進(jìn)行插入節(jié)點(diǎn)的操作。

在上面的例子中有這樣一句代碼:oTest.insertBefore(newNode,null) ,這里insertBefore有2個(gè)參數(shù)可以設(shè)置,第一個(gè)是和appendChild相同的,第二卻是它特有的。它不僅可以為null,還可以為:

復(fù)制代碼 代碼如下:

<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>

這個(gè)例子將在x1節(jié)點(diǎn)前面插入一個(gè)新的節(jié)點(diǎn)

又或:

復(fù)制代碼 代碼如下:

<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>

這個(gè)例子將在x1節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)前面插入一個(gè)新的節(jié)點(diǎn)

還可為:

復(fù)制代碼 代碼如下:

<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>

這個(gè)例子將在第一子節(jié)點(diǎn)前面插入一個(gè)新的節(jié)點(diǎn),也可以通過改變childNodes[0,1,...]來在其它位置插入新的節(jié)點(diǎn)

由于可見insertBefore()方法的特性是在已有的子節(jié)點(diǎn)前面插入新的節(jié)點(diǎn),但例一中使用insertBefore()方法也可以在子節(jié)點(diǎn)列表末插入新節(jié)點(diǎn)的。兩種情況結(jié)合起來,發(fā)現(xiàn)insertBefore()方法插入節(jié)點(diǎn),是可以在子節(jié)點(diǎn)列表的任意位置。

從這幾個(gè)例子中得出:
appendChild() 方法在節(jié)點(diǎn)的子節(jié)點(diǎn)列表末添加新的子節(jié)點(diǎn)。
insertBefore() 方法在節(jié)點(diǎn)的子節(jié)點(diǎn)列表任意位置插入新的節(jié)點(diǎn)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 91九色视频在线播放 | 欧美在线观看视频一区 | 国产做爰全免费的视频黑人 | 久久久久久久久91 | 久久久久中精品中文字幕19 | 亚洲成人福利 | 插插操| 国产1区2区3区在线观看 | 91久久久久久久 | 国产乱淫a∨片免费观看 | 日本一区视频在线观看 | 伊人网站 | 欧美成人一二三区 | 蜜桃网站在线观看 | 午夜久久久精品一区二区三区 | 国产亚洲欧美日韩在线观看不卡 | 激情小说另类 | 在线免费日本 | 久久久久久免费 | 久久久精品视 | 毛片网站视频 | 亚洲av一级毛片特黄大片 | 国产一级淫片在线观看 | 一区二区三区小视频 | 国产欧美亚洲精品 | 成人国产在线看 | 国产一国产一级毛片视频在线 | 国产亲子伦在线观看 | 日本成人一区二区 | 一区二区三区视频在线观看 | 久久久久亚洲a | 免费一级a毛片免费观看 | chinese hd xxxx tube | 国产资源在线视频 | 国产一区二区三区在线免费 | 日本不卡一区二区三区在线观看 | 欧美日韩爱爱视频 | 91一区二区三区久久久久国产乱 | 久草在线观看首页 | 日本在线播放一区二区 | 国产精品久久久久永久免费 |