我想使用jQuery克隆div的内容,但是在我使用appendTo函数之前,我希望从原始类中删除该类。当我从克隆中删除该类时,它们也会从原始类中删除。
我的代码是:
$('.carousel .item').each(function(){
var next = $(this).next();
if (!next.length) {
next = $(this).siblings(':first');
}
next.children(':first-child').clone().appendTo($(this));
next.children(':first-child').addClass('col-sm-offset-1');
for (var i=0;i<3;i++) {
next=next.next();
if (!next.length) {
next = $(this).siblings(':first');
}
next.children(':first-child').clone().appendTo($(this));
}
});
请注意,我不想从复制内容的实际div中删除类,我只想将其从复制的代码中删除,以便它不包含在克隆的div中。
答案 0 :(得分:3)
您可以在removeClass
之后使用addClass
和clone
。
.clone().removeClass('oldClass').addClass('col-sm-offset-1')
答案 1 :(得分:1)
您可以先从克隆对象中删除元素,然后克隆到新对象,如下所示:
$('.carousel .item').each(function(){ var next = $(this).next();
if (!next.length) {
next = $(this).siblings(':first');
}
var $block = next.children(':first-child');
// Grab the and remove element class
$block = $block.find('.your-element-identity-class').removeClass('your-element-identity-class');
// Clone the block
var $clone = $block.clone();
$clone.appendTo($(this));
next.children(':first-child').addClass('col-sm-offset-1');
for (var i=0;i<3;i++) {
next=next.next();
if (!next.length) {
next = $(this).siblings(':first');
}
var $block = next.children(':first-child');
// Grab the and remove element class
$block = $block.find('.your-element-identity-class').removeClass('your-element-identity-class');
// Clone the block
var $clone = $block.clone();
$clone.appendTo($(this));
}
});
替换&#34;你的元素身份类&#34;使用您要删除的班级名称。 原始参考。来自 - How to remove the selected element during a clone() operation
答案 2 :(得分:1)
您可以在追加对象之前运行removeClass(),无论您要将其追加到哪里。