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

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

伊谢尔伦
伊谢尔伦原創
2017-07-20 13:26:381337瀏覽

建立節點

為了建立一個新的節點,可以使用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中文網其他相關文章!

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