У меня есть поля в форме и позволяют пользователю добавлять или удалять элементы. Первая добавленная подсветка удалит ok, но любые добавленные не удаляются.Почему jquery не удаляет прикрепленный div
Я попытался следующие, и не везло jQuery $(this).remove() not working after append
Вот jsfiddle кода ниже http://jsfiddle.net/3PzmH/3/
<!-- html -->
<div class="features"></div>
// js
var highlight = '<div class="form-group"><label for="highlight" class="col-sm-3 col-lg-2 control-label">Hightlight:</label><div class="col-sm-9 col-lg-3 controls"><input type="text" name="highlight_name[]" data-rule-required="true" class="form-control" value="Hightlight Name"></div><div class="col-sm-9 col-lg-7 controls"><textarea name="highlight_description[]" class="form-control" rows="3" placeholder="Description for highlight"></textarea><a href="" class="pull-right showhouse-text remove_highlight"><i class="fa fa-plus"></i> Remove Highlight</a></div></div>';
$('.features').append(highlight);
$('#add_highlight').click(function(){
$('.features').append(highlight);
});
$('.remove_highlight').on("click", function(){
$(this).closest('.form-group').remove();
});
В зависимости от версии JQuery это может быть не лучший подход, смотрите здесь: http://api.jquery.com/delegate/ «По состоянию на JQuery 1.7, .delegate() был заменен методом .on(). Однако для более ранних версий он остается наиболее эффективным средством для использования делегирования делегирования. Дополнительная информация о привязке событий и делегировании содержится в методе .on(). " –
Спасибо, Джош Смикус. –