新聞中心
克隆
克隆:是英文"clone"或"cloning"的音譯;克隆是指生物體通過體細(xì)胞進(jìn)行的無性繁殖,以及由無性繁殖形成的基因型完全相同的后代個體。

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名注冊、網(wǎng)站空間、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。
克隆也可以理解為復(fù)制、拷貝和翻倍,就是從原型中產(chǎn)生出同樣的復(fù)制品,它的外表及遺傳基因與原型完全相同,但大多行為 思想不同。
JQ的clone()方法名稱個人感覺就是蹭熱點(diǎn)名詞;其作用就是復(fù)制。
clone()
?克隆節(jié)點(diǎn)是Dom的常見操作,JQ提供一個clone方法,專門用于處理dom的克隆。
clone()方法是克隆匹配的Dom元素;可以生成被選元素的副本,包含子節(jié)點(diǎn),文本與屬性。
clone()方法使用格式:$(selector).clone(true|false)?。
深/淺克隆的區(qū)別在于方法的參數(shù)是true(深克隆)或false(或者沒有)是淺克隆。
- 淺克隆:只復(fù)制副本,不會克隆節(jié)點(diǎn)的事件。
- 深克隆:不止復(fù)制副本,還會復(fù)制節(jié)點(diǎn)的JQ事件。
頁面示例代碼:
用戶名:
為dv1分別注冊Dom的0級/2級事件/JQ事件的單擊事件;使用colone()方法克隆出新的div,在克隆的div中追加一個p元素其文本用于標(biāo)示深/淺克隆的div。
深/淺克隆事件
$(function () {
//注冊dom的0級單擊事件
var dv1 = document.getElementById("dv1");
dv1.onclick = function () {
console.log("dom 0級事件");
};
//注冊dom的2級單擊事件
dv1.addEventListener("click", function () {
console.log("dom 2級事件");
});
//注冊JQ的單擊事件
//$("#dv1").click(function () { console.log("我是dv1"); });
$(dv1).click(function () { console.log("我是dv1"); });
//01.淺克隆 不會復(fù)制事件
//包括 0級/2級dom事件與JQ的事件 都不會被復(fù)制
$("#c1").click(function () {
//$newDiv克隆出來的新div
var $newDiv = $("#dv1").clone();
//在克隆的div追加一個p元素
//用于標(biāo)示新div是淺克隆出來的
$newDiv.append('淺克隆
');
//將克隆的div插入到$("#dv1")的后面
$newDiv.insertAfter($("#dv1"));
});
//02.深克隆 會復(fù)制事件
//注意:jq事件 會復(fù)制,
//0級/2級dom事件 不會被復(fù)制
$("#c2").click(function () {
var $newDiv = $("#dv1").clone(true);
//用于標(biāo)示新div是深克隆出來的
$newDiv.append('深克隆
');
$newDiv.insertAfter($("#dv1"));
});
});小結(jié)
深/淺克隆的區(qū)別:
1、方法參數(shù)
- 深克隆參數(shù)為true 淺克隆參數(shù)為false。
2、針對事件
- 淺克隆 0級/2級/JQ事件都不會被克隆。
- 深克隆只會克隆JQ事件,0級/2級事件也不會被克隆。
分享名稱:聊一聊JQuery-深/淺克隆方法Clone()
當(dāng)前網(wǎng)址:http://www.dlmjj.cn/article/cdcojhj.html


咨詢
建站咨詢
