jQuery .clone .insertAfter с новым идентификатором - PullRequest
6 голосов
/ 09 февраля 2012

Как я могу клонировать DIV, добавить его сразу после div и присвоить ему новый идентификатор?

У меня есть DIV с классом reflection, я хочу, чтобы каждый экземпляр этого DIV клонировался и вставлялся сразу после оригинала, но с классом reflected (без класса reflection). Как я могу сделать это с помощью jQuery?

Вот моя текущая скрипка, но она не работает правильно ... http://jsfiddle.net/yUgn9/

Ответы [ 2 ]

9 голосов
/ 09 февраля 2012

Передайте функцию в .after() и верните ей обновленный клон.

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

ДЕМО: http://jsfiddle.net/PFBVX/


В старых версиях jQuery сделайте это ...

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

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

2 голосов
/ 09 февраля 2012

Я считаю, что вам нужно .each () из них, чтобы обрабатывать их индивидуально.В настоящее время код захватывает их всех и клонирует после всех.Вместо этого вы хотите обработать каждый из них по отдельности и вставить клон после оригинала, после изменения классов по желанию.

...