6

如何克隆一个 DIV,将它附加在 div 之后并给它一个新的标识符?

我有一个带类的 DIV reflection,我想要这个 DIV 的每个实例,克隆,并在原始之后插入,但是使用类reflected(没有类,reflection)我怎样才能用 jQuery 完成这个?

这是我目前的小提琴,但它不能正常工作...... http://jsfiddle.net/yUgn9/

4

2 回答 2

9

Pass a function to .after(), and have it return the updated clone.

$('div.reflection').after(function() {
    return $(this).clone().toggleClass('reflection reflected');
});

DEMO: http://jsfiddle.net/PFBVX/


In older versions of jQuery, do this...

$('div.reflection').each(function() {
    $(this).after($(this).clone().toggleClass('reflection reflected'));
});

DEMO: http://jsfiddle.net/PFBVX/1/

于 2012-02-08T22:51:46.907 回答
2

我相信您需要 .each() 来单独处理它们。代码目前正在做的是抓取所有这些并在所有这些之后克隆它们。相反,您希望单独处理它们中的每一个,并在根据需要更改类之后在原始之后插入克隆。

$(document).ready(function(){

    $('div.reflection').each(function () {
        var org = $(this),
            clone = org.clone();

        clone.removeClass('reflection').addClass('reflected')
            .insertAfter(org);
    });

});
于 2012-02-08T22:49:51.323 回答