JQuery добавление класса к клонированному элементу

Это мой скрипт:

$('.addprop').click(function() {
        $('#clone').clone().insertAfter('.addprop');
    })

Мне нужно добавить класс к новому элементу, который создается. Возможно ли это?

2 ответов


Да, это:

$('.addprop').click(function() {
        $('#clone').clone().addClass('newClass').insertAfter('.addprop');
    })

хотя вы клонируете элемент на основе его id, $('#clone'), поэтому обратите внимание, что будет два элемента, разделяющих то же самое id, что делает результат недопустимым HTML, поэтому я бы предложил:

$('.addprop').click(function() {
        $('#clone').clone().attr('id',id += 1).addClass('newClass').insertAfter('.addprop');
    });

это эффективно добавит число 1 до конца конца текущего id значение. Чтобы сделать это более динамичным, вам, вероятно, нужно будет основывать его на количестве элементов новое имя класса:

$('.addprop').click(function() {
        $('#clone').clone().attr('id',id += $('.newClass').length).addClass('newClass').insertAfter('.addprop');
    });

конечно.

после .clone() метод настоящее элемент является клоном..

$('#clone').clone().addClass('class-name-here').insertAfter('.addprop');

обратите внимание

вам нужно изменить id клона, поскольку он должен быть уникальным в DOM, и когда вы клонируете этот элемент, идентификатор также клонируется..

так что лучше сделать что-то вроде

$('#clone').clone().attr('id','newid').addClass('class-name-here').insertAfter('.addprop');