Добавление класса клона неэффективно - PullRequest
0 голосов
/ 09 апреля 2011

У меня есть функция клонирования, которая клонирует объект при двойном щелчке. У меня также есть .addclass ('Копировать'), добавленный к этим клонам. Однако свойство css не применяется должным образом.

Считайте, что у меня есть Block1. У меня есть дубликаты Block1, Block2, представленные в моем HTML-документе. У Block2 есть класс .Copy, и он применяется правильно. (.copy перемещает дубликат влево на определенную величину.) Эти автоматически сгенерированные клоны имеют класс, но свойство margin класса не соблюдается. Копия имеет оставленное поле: -100px. Клоны явно не перемещаются в сторону этим, а довольно странным количеством, как 82% от того, что я установил. Дубликаты, которые я предоставил вручную в html с помощью класса .Copy, смещены в сторону на 100px.

$(document).ready(function(){
    $("img:not('.Copy, .Show_Card')").live('dblclick', function(){
        var limit = $(this).parent().size();
        if (limit < 4) {
            var $clone = $(this).clone(true).addClass('Copy');
            $(this).parent().find('.DCT_Card:last').before($clone);
        }
    });
});

Эти клоны img имеют установленную границу, которая, как я думал, могла вызывать некоторые проблемы. Так что я удалил свойство border, и это исправило нечетное расстояние. Так есть ли способ передать эффекты CSS?

1 Ответ

0 голосов
/ 09 апреля 2011

Используйте insertBefore() вместо before()

$('div').clone().addClass('back').insertBefore('div').eq(0); // 0 represent first div

http://jsfiddle.net/TjxBL/2/

...