為什么把this改成".aaron2"之后是以倍數(shù)增加div的
<!DOCTYPE html>
<html>
<head>
? ? <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
? ? <title></title>
? ? <script src="http://idcbgp.cn/static/lib/jquery/1.9.1/jquery.js"></script>
? ? <style>
? ? .left,
? ? .right {
? ? ? ? width: 300px;
? ? ? ? height: 120px;
? ? }
? ??
? ? .left div,
? ? .right div {
? ? ? ? width: 100px;
? ? ? ? height: 90px;
? ? ? ? padding: 5px;
? ? ? ? margin: 5px;
? ? ? ? float: left;
? ? ? ? border: 1px solid #ccc;
? ? ? ? background: #bbffaa;
? ? }
? ? </style>
</head>
<body>
? ? <h2>通過clone克隆元素</h2>
? ? <div class="left">
? ? ? ? <div class="aaron1">點(diǎn)擊,clone淺拷貝</div>
? ? ? ? <div class="aaron2">點(diǎn)擊,clone深拷貝,可以繼續(xù)觸發(fā)創(chuàng)建</div>
? ? </div>
? ? <script type="text/javascript">
? ? ? ? //只克隆節(jié)點(diǎn)
? ? //不克隆事件
? ? $(".aaron1").on('click', function() {
? ? ? ?// $(".left").append( $(this).clone().css('color','red') )
? ? ? ?$(".arron1").clone()
? ? })
? ? </script>
? ? <script type="text/javascript">
? ? //克隆節(jié)點(diǎn)
? ? //克隆事件
? ? $(".aaron2").on('click', function() {
? ? ? ? ? ? console.log(1)
? ? ? ? $(".left").append( $(this).clone(true).css('color','blue') )
? ? })
? ? </script>
</body>
</html>
2019-12-16
我的理解(以克隆"aaron1"為例):若將"this"改為"aaron1",$(".arron1").clone()表示克隆所有類名為"aaron1"的元素,第一次點(diǎn)擊"aaron1"時(shí)克隆出一個(gè),此時(shí)共有2個(gè)"aaron1"的元素,再次克隆則會(huì)對這兩個(gè)"aaron1"都克隆一次,所以當(dāng)你第二點(diǎn)擊克隆時(shí)就是克隆出2個(gè)"aaron1",以此類推。而"this"指代當(dāng)前對象,即只克隆當(dāng)前這一個(gè)擁有克隆點(diǎn)擊事件的對象。
2020-03-30
因?yàn)樵趈query中,對象是一個(gè)元素集合啊;你第一次點(diǎn)擊前,arron2集合中只有一個(gè)元素;第二次點(diǎn)擊前,aaron2中有2個(gè)元素;第三次,有4個(gè)元素;依次類推。