新聞中心
DOM允許你創(chuàng)建自己的元素和文本節(jié)點(diǎn),并把它們添加大文檔樹(shù)中。理論上上說(shuō),你可以從樹(shù)中移除所有的元素,創(chuàng)建新元素,或者重整文檔樹(shù),從而完全改變頁(yè)面。但是在實(shí)踐中,這個(gè)特性用起來(lái)有些限制。DOM也允許你克隆現(xiàn)有的元素,已便你能方便地復(fù)制文檔的某一部分并在文檔中分發(fā)副本。

成都創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)太子河,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575
推薦閱讀:JavaScript DOM的本質(zhì)及操作方法
createElement()和createTextNode()
createElement()和createTextNode()做的事情正如它們的名字所說(shuō)的那樣。最常見(jiàn)的JavaScript DOM方法實(shí)戰(zhàn)-修改文檔樹(shù)中已經(jīng)用過(guò)它們。當(dāng)時(shí)的目的是把新創(chuàng)建的元素添加到文檔樹(shù)里,使它成為某個(gè)元素的***一個(gè)子節(jié)點(diǎn)。
- //創(chuàng)建一個(gè)li新元素
- var newChild=document.createElement('li');
- //創(chuàng)建一個(gè)a 新元素
- var newLink=document.createElement('a')
- //創(chuàng)建一個(gè) Text 節(jié)點(diǎn)
- var newText=document.createTextNode('My Wiki');
newChild指向新創(chuàng)建的
- var nav=document.getElementById("nav");
- //創(chuàng)建一個(gè)li新元素
- var newChild=document.createElement('li');
- //創(chuàng)建一個(gè)a 新元素
- var newLink=document.createElement('a')
- //創(chuàng)建一個(gè) Text 節(jié)點(diǎn)
- var newText=document.createTextNode('My Wiki');
- //把Text添加到a元素節(jié)點(diǎn)中
- newLink.appendChild(newText);
- //給a元素節(jié)點(diǎn)設(shè)置屬性href和內(nèi)容
- newLink.setAttribute('href',"#");
- //把a(bǔ)元素節(jié)點(diǎn)添加到新的li元素節(jié)點(diǎn)中
- newChild.appendChild(newLink);
- //把新的li元素節(jié)點(diǎn)添加到 ul 元素節(jié)點(diǎn)里
- nav.appendChild(newChild);
這先將文本節(jié)點(diǎn)附加到中,然后再將包含文本節(jié)點(diǎn)的附加到中。此時(shí)我的導(dǎo)航條ul中多了一個(gè)li子節(jié)點(diǎn)。
createTextNode()和HTML實(shí)體
createTextNode()有一個(gè)問(wèn)題:它不能創(chuàng)建類似于€(€ 歐元符號(hào))¥(¥ 人民幣符號(hào)) ? (© 版權(quán)符號(hào))“(“左雙引號(hào))”(” 右雙引號(hào))等,這樣的HTML實(shí)體元素。它會(huì)按字面創(chuàng)建文本,而不是創(chuàng)建你所需要的符號(hào) 。
不過(guò),我們可以使用innerHTML來(lái)代替:
關(guān)于innerHTML屬性的用法,我們會(huì)在下一節(jié)中作為專題來(lái)具體的討論。
cloneNode()
cloneNode()方法克隆一個(gè)節(jié)點(diǎn),即它能對(duì)節(jié)點(diǎn)做一個(gè)***的復(fù)制,使你可以在隨后將其插入到文檔樹(shù)中。導(dǎo)航條HTML代碼:
測(cè)試cloneNode()
要想正確的使用cloneNode(),你必須了解它的一下二個(gè)特征:
1. cloneNode()接受一個(gè)可選值為true或false的參數(shù)。True 表示克隆元素和它的所有子節(jié)點(diǎn)。False表示克隆元素但不包含它的子節(jié)點(diǎn)。通常,我們?cè)趯?shí)踐中用true,我從來(lái)沒(méi)有遇到過(guò)想要克隆一個(gè)節(jié)點(diǎn)但不包含它的子節(jié)點(diǎn)的情形。
2. cloneNode()不會(huì)克隆事件處理程序。這相當(dāng)?shù)淖屓藧阑?,不知道這個(gè)方法是怎么定義的(原因我也不知道)所以每次你克隆一個(gè)節(jié)點(diǎn),你不得不在克隆上重新定義事件處理程序。
原文地址:http://cssrainbow.cn/tutorials/javascript/589.html
網(wǎng)站標(biāo)題:JavaScriptDOM實(shí)戰(zhàn):創(chuàng)建和克隆元素
文章URL:http://www.dlmjj.cn/article/djohesd.html


咨詢
建站咨詢
