jQuery向克隆元素添加类

12

这是我的脚本:

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

我需要向正在创建的新元素添加一个类。这是否可能?

2个回答

28

是的,它是可以的:

$('.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');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接