建立節點
為了建立一個新的節點,可以使用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()
首先取得要複製的元素。
var el = document.getElementsByTagName('p')[1];//<p><em>second</em> paragraph</p>
document.body.appendChild(el.cloneNode(false))
document.body.appendChild(document.createElement('p'));
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> <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);
我們也可以用replaceChild()方法。這個方法是刪除一個節點,並用另一個節點取代。執行上個刪除節點作業之後,結果如下
<body> <p class="opener">first paragraph</p> <p id="closer">final</p> <!-- and that's about it --> </body>
var replaced = document.body.replaceChild(removed, p);
<body> <p class="opener">first paragraph</p> <p><em>second</em> paragraph</p> <!-- and that's about it --> </body>
以上是JavaScript中如何建立、使用和刪除dom節點實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!