首頁 > web前端 > js教程 > JavaScript中如何建立、使用和刪除dom節點實例詳解

JavaScript中如何建立、使用和刪除dom節點實例詳解

伊谢尔伦
發布: 2017-07-20 13:26:38
原創
1369 人瀏覽過

建立節點

為了建立一個新的節點,可以使用createElement和createTextNode.如果新建完成,可以用appendChild()把節點加入DOM樹。

建立一個元素P,並且把設定innerHTML屬性


#
var myp = document.createElement('p'); 
myp.innerHTML = 'yet another';
登入後複製

元素P建完成了,就可以隨意修改新增屬性了


myp.style.border = '2px dotted blue'
登入後複製

 接下來可以用appendChild把新的節點加入DOM樹的。


document.body.appendChild(myp)
登入後複製

使用DOM的方法
#用innerHTML方法的確很簡單,我們可以用純的dom方法來實作上面的函數。

  • 新建一個文字節點(yet another)

  • #新建一個段落

  • ##把文字節點加到段落中。

  • 把段落加入到body中


#

// 创建p 
var myp = document.createElement('p'); 
// 创建一个文本节点 
var myt = document.createTextNode('one more paragraph') 
myp.appendChild(myt); 
// 创建一个STRONG元素 
var str = document.createElement('strong'); 
str.appendChild(document.createTextNode('bold')); 
// 把STRONG元素添加到P中 
myp.appendChild(str); 
// 把P元素添加到BODY中 
document.body.appendChild(myp); 
//结果<p>one more paragraph<strong>bold</strong></p> 
 cloneNode()
登入後複製

另一種新節點的方法是,我們可以用cloneNode複製一個節點。 cloneNode()可以傳入一個boolean參數。如果為true就是深度複製,包括他的子節點,false,僅僅複製自己。

 
首先取得要複製的元素。


var el = document.getElementsByTagName(&#39;p&#39;)[1];//<p><em>second</em> paragraph</p>
登入後複製

先不用深度複製。


document.body.appendChild(el.cloneNode(false))
登入後複製

我們發現頁面並沒有變化,因為僅僅複製的是元素p。和下面的效果一樣。


document.body.appendChild(document.createElement(&#39;p&#39;));
登入後複製

如果用深度複製,包括p下面所有的子節點都會被複製。當然包括文字節點和EM元素。


document.body.appendChild(el.cloneNode(true))
登入後複製

insertBefore()
用appendChild,就是把元素加到最後。而insertBefore方法可以更精確地控制插入元素的位置。


elementNode.insertBefore(new_node,existing_node)
登入後複製

實例


document.body.insertBefore( 
 document.createTextNode(&#39;boo!&#39;), 
 document.body.firstChild 
);
登入後複製

意思是新建一個文字節點,把它當作body元素的第一個節點。


刪除節點

要從DOM樹刪除一個節點,我們可以使用removeChild().我們來看看要操作的HTML



<body> 
 <p class="opener">first paragraph</p> 
 <p><em>second</em> paragraph</p> 
 <p id="closer">final</p> 
 <!-- and that&#39;s about it --> 
</body>
登入後複製

來看看下面程式碼,刪除第二段


var myp = document.getElementsByTagName(&#39;p&#39;)[1]; 
var removed = document.body.removeChild(myp);
登入後複製

removed節點就是刪除的節點。以後還可以用這刪除的節點。

 
我們也可以用replaceChild()方法。這個方法是刪除一個節點,並用另一個節點取代。執行上個刪除節點作業之後,結果如下


<body> 
 <p class="opener">first paragraph</p> 
 <p id="closer">final</p> 
 <!-- and that&#39;s about it --> 
</body>
登入後複製

 我們來看看replaceChild的使用。我們把上一個刪除節點來取代第二個p


var replaced = document.body.replaceChild(removed, p);
登入後複製

 和removeChild回傳一樣。 replaced就是移除的節點。現在結果為


<body> 
 <p class="opener">first paragraph</p> 
 <p><em>second</em> paragraph</p> 
 <!-- and that&#39;s about it --> 
</body>
登入後複製

以上是JavaScript中如何建立、使用和刪除dom節點實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板