jquery插入多个.clone()克隆对象为什么不可以呢,见上例代码,类似情况又该如何处理,谢谢

<html><head><scripttype="text/javascript"src="/jquery/jquery.js"></script><scripttype... <html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
var a = $("p:first").clone(true);
$("body").append(a);
$("body").append(a);
});
$("p").click(function(){
$(this).animate({fontSize:"+=1px"});
});
});
</script>
</head>
<body>

<p>点击本段落可以增加文本的大小。事件处理器同样被复制到新的段落。</p>
<button>复制每个 p 元素,然后追加到 body 元素</button>

</body>
</html>

这段代码
$("body").append(a);
$("body").append(a);
插个两个.clone()对象为什么不行呢,以上例如果把A作为模板,插入多条数据应该如何处理呢
展开
 我来答
yugi111
2015-09-25 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
var num = 2;
$(document).ready(function(){
  $("button").click(function(){
$(new Array(num)).each(function(){
 var a = $("p:first").clone(true);
$("body").append(a); 
});
  });
  $("p").click(function(){
    $(this).animate({fontSize:"+=1px"});
  });
});
追问
你这里是clone(true);克隆了两次,我想说克隆一次,为什么不能实现多次插入呢,就像定义了变量一样,后面可以多次引用
追答
这个是克隆dom元素,不同于基本的变量,每个dom元素有其唯一存在的价值

例如你将页面中的某个a标签元素插入到body的最后面,那原来那个a就不在那个位置了,
除非你要克隆一个a,来添加,这样才不会改变原来的那个位置

就好像是
你数据库查找列表
你在循环外面new个对象,但是在循环里面都设置了这个对象的属性,最后列表里面就只有一个对象

真相是在循环里面new对象,这样获取的才是所有的列表,不是唯一的对象。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式