jQuery复制内容并在追加之前从中删除类

时间:2014-03-18 12:19:43

标签: javascript jquery html

我想使用jQuery克隆div的内容,但是从复制的内容中我想找到一个类活动并在使用appendTo函数之前删除它。

例如,我有这段代码:

<div class="box">
    <p>text</p>
    <div class="random active"></div>
</div>

我可以使用以下代码复制上面的代码:

var content = $(this).find('.box').html();

现在如何从var content中找到有效类,并在appendTo之前将其删除?

请注意,我不想从复制内容的实际div中删除类,我只想从复制的代码中删除它,以便它不包含在克隆div中。

感谢。

6 个答案:

答案 0 :(得分:3)

尝试,

var content = $(this).find('.active').removeClass('active').closest('.box').html();

根据您的新要求,

var content = $(this).find('.box').clone().find('.active').removeClass('active');

答案 1 :(得分:1)

你可以这样做:

$(content).find('.active').remove().appendTo('body');

答案 2 :(得分:1)

尝试

content = $(content).find('.active').removeClass('active')

<小时/> 在OP的评论

之后更新

Fiddle Demo

var content = $(this).find('.box').clone();
content = content.find('.active').removeClass('active').closest('.box');
alert(content.html());

答案 3 :(得分:1)

我解决问题的方法:

var content = $(this).find('.box').children().clone().removeClass("active"); 

content是一个jQuery数组,其内容为.box(内容的克隆),所有元素都没有active类。

替代方案:

如果您只需要从元素中删除该类,则可以添加一个步骤:

var content = $(this).find('.box').children().clone();
content.find(".random").removeClass("active");

如何使用内容变量:

现在,您可以.appendTo() content在您需要的地方:

content.appendTo("body"); //for example

调试代码:

使用:alert(content.html())试试这个:

var content = $(this).find('.box').clone();
content.children().removeClass("active");
alert(content.html()); //HTML string but it seems the best way to use DOM

但这样更好,使用控制台:

var content = $(this).find('.box').children().clone().removeClass("active");
console.log(content);   // array of jQuery objects not simply HTML string

示例:

示例:http://jsfiddle.net/Frogmouth/4dYM4/1/

享受,青蛙。

答案 4 :(得分:1)

你可以这样做。

var content = $(this).find('.box').clone();
$(content).find('.active').removeClass('active');

答案 5 :(得分:0)

删除和附加元素的最佳方法

        content = $('#content').clone();
        $('#content').remove();
        content.appendTo('#perntElement');