欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js AppendChild與insertBefore用法詳細對比

 更新時間:2013年12月16日 09:41:25   作者:  
本篇文章主要是對js中AppendChild與insertBefore的用法進行了詳細的對比。需要的朋友可以過來參考下,希望對大家有所幫助

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

比如我們要在下面這個div中插入一個子節(jié)點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>

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

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

在上面的例子中有這樣一句代碼: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節(jié)點前面插入一個新的節(jié)點

又或:

復制代碼 代碼如下:

<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節(jié)點的下一個節(jié)點前面插入一個新的節(jié)點

還可為:

復制代碼 代碼如下:

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

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

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

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

相關文章

  • js正則表達式的使用詳解

    js正則表達式的使用詳解

    本篇文章是對js中正則表達式的使用進行了詳細的分析介紹,需要的朋友可以參考下
    2013-07-07
  • JavaScript實現的瀏覽器下載文件的方法

    JavaScript實現的瀏覽器下載文件的方法

    本文通過一段簡單的代碼給大家介紹了js實現瀏覽器下載文件的方法,需要的的朋友參考下吧
    2017-08-08
  • JavaScript實現計數器基礎方法

    JavaScript實現計數器基礎方法

    這篇文章主要為大家詳細介紹了JavaScript實現計數器的基礎方法
    ,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • js實現網頁多級級聯(lián)菜單代碼

    js實現網頁多級級聯(lián)菜單代碼

    這篇文章主要介紹了js實現網頁多級級聯(lián)菜單代碼,涉及javascript基于數組動態(tài)構造多級級聯(lián)菜單的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-08-08
  • js點擊文本框彈出可選擇的checkbox復選框

    js點擊文本框彈出可選擇的checkbox復選框

    這篇文章主要介紹了js點擊文本框彈出可選擇的checkbox復選框的相關資料,需要的朋友可以參考下
    2016-02-02
  • js模擬支付寶密碼輸入框

    js模擬支付寶密碼輸入框

    這篇文章主要為大家詳細介紹了js模擬支付寶密碼輸入框效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 詳談ES6中的迭代器(Iterator)和生成器(Generator)

    詳談ES6中的迭代器(Iterator)和生成器(Generator)

    下面小編就為大家?guī)硪黄斦凟S6中的迭代器(Iterator)和生成器(Generator)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • javascript實現保留兩位小數的多種方法

    javascript實現保留兩位小數的多種方法

    這篇文章主要介紹了javascript實現保留兩位小數的多種方法,如果數字的原本小數位數不到兩位,那么缺少的就自動補零,感興趣的小伙伴們可以參考一下
    2015-12-12
  • javascript中undefined與null的區(qū)別

    javascript中undefined與null的區(qū)別

    在JavaScript中存在這樣兩種原始類型:Null與Undefined。這兩種類型常常會使JavaScript的開發(fā)人員產生疑惑,在什么時候是Null,什么時候又是Undefined?
    2015-08-08
  • JavaScript禁止頁面操作的示例代碼

    JavaScript禁止頁面操作的示例代碼

    本篇文章是對JavaScript禁止頁面操作的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12

最新評論