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作为模板,插入多条数据应该如何处理呢 展开
<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作为模板,插入多条数据应该如何处理呢 展开
1个回答
展开全部
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对象,这样获取的才是所有的列表,不是唯一的对象。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询