removechild 函數可以刪除父元素的指定子項目。
如果此函數刪除子節點成功,則返回被刪除的節點,否則返回null。
文法結構:
fatherObj.removeChild(childrenObj)
參數解釋:
1.fatherObj:要刪除子項目的元素對象。
2.childrenObj:要被刪除的子項目對象。
特別說明:
在Firefox、Google和IE8以上瀏覽器中,空白也算是一個文本節點,但是在IE8和IE8以下瀏覽器中會忽略空白文本節點,具體可以參閱javascript如何擷取元素的子節點和父節點 一章節。
代碼執行個體:
執行個體一:
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.jb51.net/" /><title>雲棲社區</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>雲棲社區一</li> <li>雲棲社區二</li> <li>雲棲社區三</li> <li>雲棲社區四</li></ul></body></html>
以上代碼可以刪除box的子項目中的第二個li元素。
執行個體二:
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>雲棲社區</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>雲棲社區一</li> <li>雲棲社區二</li> <li>雲棲社區三</li> <li>雲棲社區四</li></ul></body></html>
以上代碼可以從box中所有子節點中選取元素節點,然後將元素節點放入數組,然後再刪除第二個元素節點。
總結:
removeChild()
這個函數是得到元素的父元素,進行刪除的。文法形式為:parent.removeChild(child);
有時候我們希望在不涉及父元素的情況下進行刪除。但是DOM 就是這個機制,必須明確元素和父元素才能進行刪除。在進的到要刪除的元素時,我們也是可以進行刪除操作的,利用其 parentNode 屬性來找到父元素:
var child=document.getElementById(p1);child.parentNode.removeChild(child);
注意:jquery也有功能與removeChild相對應的函數:remove()和empty()
remove():是指將自己本身和子項目均刪除
empty():是刪除子項目