上一節我們學會了創建節點,這一節我們來學學如何插入節點。
在JavaScript中,插入節點有2種方法:
下面一一講解一下這2種插入節點的方法。
在JavaScript中,我們可以使用appenChild()方法把新的節點插入到當前節點的“內部”。
語法:
obj.appendChild(new)
說明:
obj表示當前節點,new表示新節點。
舉例:
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> function insert() { var e = document.createElement("li"); var str = document.getElementById("txt").value; //獲取文本框的值 var txt = document.createTextNode(str); e.appendChild(txt); var list = document.getElementById("list"); list.appendChild(e); } </script> </head> <body> <ul id="list"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> 列項文本:<input id="txt" type="text"/><br /> <input type="button" value="插入新項" onclick="insert()" /> </body> </html>
在浏覽器預覽效果如下:
分析:
我們在文本框中輸入列表項文本“jQuery”,然後點擊“插入新項”按鈕,浏覽器預覽效果如下:
在JavaScript中,我們可以使用insertBefore()方法將新的子節點添加到當前節點的“末尾”。
語法:
obj.insertBefore(new,ref)
說明:
obj表示父節點;
new表示新的子節點;
ref指定一個節點,在這個節點前插入新的節點。
舉例:
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <link href="StyleSheet.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function insert() { var e = document.createElement("li"); var str = document.getElementById("txt").value; //獲取文本框的值 var txt = document.createTextNode(str); e.appendChild(txt); var list = document.getElementById("list"); list.insertBefore(e,list.firstChild); } </script> </head> <body> <ul id="list"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> <li>jQuery</li> </ul> 列項文本:<input id="txt" type="text"/><br /> <input type="button" value="插入新項" onclick="insert()"/> </body> </html>
在浏覽器預覽效果如下:
分析:
我們在文本框中輸入列表項文本“jQuery”,然後點擊“插入新項”按鈕,浏覽器預覽效果如下:
大家仔細比較一下這兩個例子的不同之處,就能明白appendChild()和insertBefore()這2種插入節點方式的不同了。
這裡注意一點,appendChild()和insertBefore()這2種插入節點方式都需要獲取父節點才能進行操作。