建立節點
為了建立一個新的節點,可以使用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)
#新建一個段落
#
// 创建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('p')[1];//<p><em>second</em> paragraph</p>先不用深度複製。
document.body.appendChild(el.cloneNode(false))我們發現頁面並沒有變化,因為僅僅複製的是元素p。和下面的效果一樣。
document.body.appendChild(document.createElement('p'));如果用深度複製,包括p下面所有的子節點都會被複製。當然包括文字節點和EM元素。
document.body.appendChild(el.cloneNode(true))
insertBefore()
用appendChild,就是把元素加到最後。而insertBefore方法可以更精確地控制插入元素的位置。
elementNode.insertBefore(new_node,existing_node)實例
document.body.insertBefore( document.createTextNode('boo!'), document.body.firstChild );意思是新建一個文字節點,把它當作body元素的第一個節點。
刪除節點
<body> <p class="opener">first paragraph</p> <p><em>second</em> paragraph</p> <p id="closer">final</p> <!-- and that's about it --> </body>來看看下面程式碼,刪除第二段
var myp = document.getElementsByTagName('p')[1]; var removed = document.body.removeChild(myp);removed節點就是刪除的節點。以後還可以用這刪除的節點。
我們也可以用replaceChild()方法。這個方法是刪除一個節點,並用另一個節點取代。執行上個刪除節點作業之後,結果如下
<body> <p class="opener">first paragraph</p> <p id="closer">final</p> <!-- and that'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's about it --> </body>
以上是JavaScript中如何建立、使用和刪除dom節點實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!