Javascript 克隆只工作一次
我有一个带有类项的div,当用户单击带有add id的div时,我希望克隆该div的次数相同 这是我的HTMLJavascript 克隆只工作一次,javascript,jquery,Javascript,Jquery,我有一个带有类项的div,当用户单击带有add id的div时,我希望克隆该div的次数相同 这是我的HTML <div class="clone">clone me</div> <div id="add">add</div> 它打印到控制台的次数与我单击“添加”的次数相同 但不会多次克隆div 我将对克隆div进行更改,但不希望对新的克隆div进行更改,因为请求引用了相同的元素,请将其移动到单击处理程序中。还可以使用:first选择器选择第一个
<div class="clone">clone me</div>
<div id="add">add</div>
它打印到控制台的次数与我单击“添加”的次数相同
但不会多次克隆div
我将对克隆div进行更改,但不希望对新的克隆div进行更改,因为
请求
引用了相同的元素,请将其移动到单击
处理程序中。还可以使用:first
选择器选择第一个元素
使用
$('#添加')。单击(函数(){
//创建对象,然后单击处理程序
var request=$('.clone:first').clone();
request.insertAfter($('.clone:last');
});代码>
克隆我
add
将请求
放入函数中,以便它一次又一次地克隆。现在,请求
只包含一个元素,如果您在之后插入它(它已经插入),则没有效果:
$(function(){
$('#add').click(function () {
var request = $('.clone').clone().removeClass("clone");
console.log('clicked');
request.insertAfter($('.clone:last'));
// $('.item:last').after(request); // this doesn't work as well
});
});
有两个问题:
您必须将var-request=$('.clone:first').clone()放入代码>内部
您只需要克隆first
div,因此使用$('.clone:first').clone()
给你:
$('#add').click(function () {
var request = $('.clone:first').clone();
console.log('clicked');
request.insertAfter($('.clone:last'));
});
或者,您也可以不用克隆来完成同样的事情
$(function(){
var request = $('<div class="clone">clone me</div>');
$('#add').click(function () {
console.log('clicked');
request.insertAfter($('.clone:last'));
});
});
$(函数(){
var请求=$('clone me');
$('#添加')。单击(函数(){
console.log('clicked');
request.insertAfter($('.clone:last');
});
});
否如果我更改了原始版本,新版本将受到影响编辑工作现在我错过的只是额外的克隆谢谢dude:)你添加了什么?请阅读问题我不想只在更改后克隆它before@robert是的,总是这样。这是一个简单易行的解决方案。我建议你用这个。
$(function(){
var request = $('<div class="clone">clone me</div>');
$('#add').click(function () {
console.log('clicked');
request.insertAfter($('.clone:last'));
});
});