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');