首頁  >  文章  >  web前端  >  JavaScript的removeChild()函數用法詳解_javascript技巧

JavaScript的removeChild()函數用法詳解_javascript技巧

WBOY
WBOY原創
2016-05-16 15:23:091703瀏覽

removechild 函數可以刪除父元素的指定子元素。

如果此函數刪除子節點成功,則傳回已刪除的節點,否則傳回null。

語法結構:

fatherObj.removeChild(childrenObj)

參數解釋:

1.fatherObj:要刪除子元素的元素物件。
2.childrenObj:要被刪除的子元素物件。

特別說明:

在火狐、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():是刪除子元素

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn