2012-01-04 219 views
6

这是我的脚本:JQuery的添加类克隆元素

$('.addprop').click(function() { 
     $('#clone').clone().insertAfter('.addprop'); 
    }) 

我需要一个类添加到正在创建新的元素。可能吗?

回答

16

是的,这就是:

$('.addprop').click(function() { 
     $('#clone').clone().addClass('newClass').insertAfter('.addprop'); 
    }) 

虽然你是基于克隆一个元素的id$('#clone'),因此请注意,会有两个元素共享相同id,这使得导致无效的HTML,所以我会建议:

$('.addprop').click(function() { 
     $('#clone').clone().attr('id',id += 1).addClass('newClass').insertAfter('.addprop'); 
    }); 

这将有效地添加号码1到当前值id的结尾。为了使其更具动态性,您可能需要将其基于新班级名称的元素数:

$('.addprop').click(function() { 
     $('#clone').clone().attr('id',id += $('.newClass').length).addClass('newClass').insertAfter('.addprop'); 
    }); 
1

当然。

.clone()方法后,当前元素是克隆..

$('#clone').clone().addClass('class-name-here').insertAfter('.addprop'); 

通知

,你将需要改变克隆的id,因为它必须在DOM中是唯一的,并且当你克隆该元素时,该ID也被克隆。

所以更好做点像

$('#clone').clone().attr('id','newid').addClass('class-name-here').insertAfter('.addprop');