removechild 函數(shù)可以刪除父元素的指定子元素。
如果此函數(shù)刪除子節(jié)點(diǎn)成功,則返回被刪除的節(jié)點(diǎn),否則返回null。
語法結(jié)構(gòu):
fatherObj.removeChild(childrenObj)
參數(shù)解釋:
1.fatherObj:要?jiǎng)h除子元素的元素對(duì)象。
2.childrenObj:要被刪除的子元素對(duì)象。
特別說明:
在火狐、谷歌和IE8以上瀏覽器中,空白也算是一個(gè)文本節(jié)點(diǎn),但是在IE8和IE8以下瀏覽器中會(huì)忽略空白文本節(jié)點(diǎn),具體可以參閱javascript如何獲取元素的子節(jié)點(diǎn)和父節(jié)點(diǎn) 一章節(jié)。
代碼實(shí)例:
實(shí)例一:
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://m.survivalescaperooms.com/" /><title>VeVb武林網(wǎng)</title><script type="text/javascript">window.onload=function(){ var obox=document.getElementById("box"); var lis=obox.getElementsByTagName("li"); obox.removeChild(lis[1]);}</script></head><body><ul id="box"> <li>VeVb武林網(wǎng)一</li> <li>VeVb武林網(wǎng)二</li> <li>VeVb武林網(wǎng)三</li> <li>VeVb武林網(wǎng)四</li></ul></body></html> 以上代碼可以刪除box的子元素中的第二個(gè)li元素。
實(shí)例二:
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>VeVb武林網(wǎng)</title><script type="text/javascript">window.onload=function(){ var obox=document.getElementById("box"); var liArray=[]; var y=0; var childNodes=obox.childNodes; for(var i=0;i<childNodes.length;i++){ if(childNodes[i].nodeType==1){ liArray[y]=childNodes[i]; y=y+1; } } obox.removeChild(liArray[1]);}</script></head><body><ul id="box"> <li>VeVb武林網(wǎng)一</li> <li>VeVb武林網(wǎng)二</li> <li>VeVb武林網(wǎng)三</li> <li>VeVb武林網(wǎng)四</li></ul></body></html> 以上代碼可以從box中所有子節(jié)點(diǎn)中選取元素節(jié)點(diǎn),然后將元素節(jié)點(diǎn)放入數(shù)組,然后再刪除第二個(gè)元素節(jié)點(diǎn)。
總結(jié):
removeChild()
這個(gè)函數(shù)是得到元素的父元素,進(jìn)行刪除的。語法形式為:parent.removeChild(child);
有時(shí)候我們希望在不涉及父元素的情況下進(jìn)行刪除。但是DOM 就是這個(gè)機(jī)制,必須明確元素和父元素才能進(jìn)行刪除。在進(jìn)的到要?jiǎng)h除的元素時(shí),我們也是可以進(jìn)行刪除操作的,利用其 parentNode 屬性來找到父元素:
var child=document.getElementById(p1);child.parentNode.removeChild(child);
注意:jquery也有功能與removeChild相對(duì)應(yīng)的函數(shù):remove()和empty()
remove():是指將自己本身和子元素均刪除
empty():是刪除子元素



















