摘要:也就是說,它沒有父節(jié)點(diǎn)。如果參數(shù)設(shè)為,則不克隆它的任何子節(jié)點(diǎn)。為了防止一個(gè)文檔中出現(xiàn)兩個(gè)重復(fù)的元素使用方法克隆的節(jié)點(diǎn)在需要時(shí)應(yīng)該指定另外一個(gè)與原值不同的。
Node 對(duì)象提供了 cloneNode() 方法實(shí)現(xiàn) HTML 頁(yè)面中節(jié)點(diǎn)的復(fù)制功能。其語法結(jié)構(gòu)如下:
var dupNode = node.cloneNode(deep);
在上述語法結(jié)構(gòu)中,調(diào)用 cloneNode() 方法的 node 表示被克隆的節(jié)點(diǎn),返回值 dupNode 表示克隆后的新節(jié)點(diǎn)。
參數(shù) deep 則表示是否采用深度克隆。如果為 true,則該節(jié)點(diǎn)的所有后代節(jié)點(diǎn)也都會(huì)被克隆;如果為 false,則只克隆該節(jié)點(diǎn)本身。
值得注意的是: 參數(shù) deep 如果默認(rèn)不傳遞的話,值為 false。但在舊版本的瀏覽器中, 你始終需要指定 deep 參數(shù)。
我們可以通過如下代碼示例,測(cè)試 replaceChild() 方法的具體使用:
var parent = document.getElementById("parent"); var btn = document.getElementById("btn"); // 復(fù)制目標(biāo)節(jié)點(diǎn) var clone = btn.cloneNode(true); parent.appendChild(clone);復(fù)制節(jié)點(diǎn)的注意事項(xiàng)
克隆一個(gè)元素節(jié)點(diǎn)會(huì)拷貝它所有的屬性以及屬性值,當(dāng)然也就包括了屬性上綁定的事件,但不會(huì)拷貝那些使用 addEventListener() 方法或者 node.onclick = fn 這種用 JavaScript 動(dòng)態(tài)綁定的事件。
在使用 Node.appendChild() 或其他類似的方法將拷貝的節(jié)點(diǎn)添加到文檔中之前,那個(gè)拷貝節(jié)點(diǎn)并不屬于當(dāng)前文檔樹的一部分。也就是說,它沒有父節(jié)點(diǎn)。
如果deep參數(shù)設(shè)為false,則不克隆它的任何子節(jié)點(diǎn)。該節(jié)點(diǎn)所包含的所有文本也不會(huì)被克隆,因?yàn)槲谋颈旧硪彩且粋€(gè)或多個(gè)的 Text 節(jié)點(diǎn)。
為了防止一個(gè)文檔中出現(xiàn)兩個(gè) ID 重復(fù)的元素,使用 cloneNode() 方法克隆的節(jié)點(diǎn)在需要時(shí)應(yīng)該指定另外一個(gè)與原 ID 值不同的 ID。
本教程免費(fèi)開源,任何人都可以免費(fèi)學(xué)習(xí)、分享,甚至可以進(jìn)行修改。但需要注明作者及來源,并且不能用于商業(yè)。
本教程采用知識(shí)共享署名-非商業(yè)性使用-禁止演繹 4.0 國(guó)際許可協(xié)議進(jìn)行許可。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/87159.html
摘要:系列教程是一套免費(fèi)開源,任何人都可以免費(fèi)學(xué)習(xí)分享,甚至可以進(jìn)行修改。本文是這套系列教程的索引也就是目錄第一回介紹在最開始,我們先來了解是什么的作用,以及瀏覽器的支持是怎么樣的。 《EASYDOM》系列教程是一套免費(fèi)、開源,任何人都可以免費(fèi)學(xué)習(xí)、分享,甚至可以進(jìn)行修改。但需要注明作者及來源,并且不能用于商業(yè)。 本文是這套系列教程的索引(也就是目錄): 第一回 DOM 介紹 在最開始,我...
摘要:對(duì)象提供了方法實(shí)現(xiàn)從頁(yè)面中刪除指定節(jié)點(diǎn)。其語法結(jié)構(gòu)如下在上述語法結(jié)構(gòu)中,調(diào)用方法的表示參數(shù)的父節(jié)點(diǎn),而參數(shù)則表示要?jiǎng)h除的那個(gè)節(jié)點(diǎn)。則用于存儲(chǔ)要?jiǎng)h除的節(jié)點(diǎn)的引用,即。 Node 對(duì)象提供了 removeChild() 方法實(shí)現(xiàn)從 HTML 頁(yè)面中刪除指定節(jié)點(diǎn)。其語法結(jié)構(gòu)如下: var oldChild = node.removeChild(child); OR element.remov...
摘要:參數(shù)則表示頁(yè)面中被替換的節(jié)點(diǎn)。方法的返回值也是被替換的節(jié)點(diǎn),即。如果該節(jié)點(diǎn)已經(jīng)存在于節(jié)點(diǎn)樹結(jié)構(gòu)中的話,則它會(huì)被從原始位置刪除。但需要注明作者及來源,并且不能用于商業(yè)。本教程采用知識(shí)共享署名非商業(yè)性使用禁止演繹國(guó)際許可協(xié)議進(jìn)行許可。 Node 對(duì)象提供了 replaceChild() 方法實(shí)現(xiàn) HTML 頁(yè)面中節(jié)點(diǎn)的替換功能。其語法結(jié)構(gòu)如下: replacedNode = parentN...
摘要:元素之間的關(guān)系在元素樹結(jié)構(gòu)中,主要具有以下三層關(guān)系。祖先與后代如果我們將頁(yè)面中某一個(gè)元素作為祖先的話,那包含在該元素內(nèi)的所有元素除子級(jí)之外的都可以稱為該元素的后代。兄弟關(guān)系具有相同父級(jí)元素的兩個(gè)或幾個(gè)元素之間就是兄弟關(guān)系。 DOM 元素樹結(jié)構(gòu)與 DOM 節(jié)點(diǎn)樹結(jié)構(gòu)很相似,區(qū)別僅在于是利用節(jié)點(diǎn)解析 HTML 元素,還是利用元素解析 HTML 元素。 DOM 樹結(jié)構(gòu) 還記得下面這張圖嗎? ...
摘要:對(duì)象中提供了和分別可以用于獲取指定節(jié)點(diǎn)的節(jié)點(diǎn)名稱節(jié)點(diǎn)類型和節(jié)點(diǎn)的值。具體的語法結(jié)構(gòu)如下在上述語法結(jié)構(gòu)中,是一個(gè)整數(shù),其代表的是節(jié)點(diǎn)類型。本教程采用知識(shí)共享署名非商業(yè)性使用禁止演繹國(guó)際許可協(xié)議進(jìn)行許可。 Node 對(duì)象中提供了 nodeName、nodeType 和 nodeValue 分別可以用于獲取指定節(jié)點(diǎn)的節(jié)點(diǎn)名稱、節(jié)點(diǎn)類型和節(jié)點(diǎn)的值。 DOM 節(jié)點(diǎn)樹結(jié)構(gòu)中,我們實(shí)際開發(fā)最常見的節(jié)...
閱讀 1842·2021-09-22 15:23
閱讀 3274·2021-09-04 16:45
閱讀 1886·2021-07-29 14:49
閱讀 2774·2019-08-30 15:44
閱讀 1526·2019-08-29 16:36
閱讀 1045·2019-08-29 11:03
閱讀 1512·2019-08-26 13:53
閱讀 512·2019-08-26 11:57