После функции append удалить элемент который появился
Доброго времени.
Есть скрипт: $(document).ready(function() { $('.elem').click(function(){ $('#itog').append('<div class="work">надпись</div>'); }); $('.work').click(function(){ $(this).hide(); }); }); Но этот код не работает. Дивы появляются, но уже не удаляются. В чем дело? Заранее спасибо! |
Используй $(this).remove();
вместо $(this).hide(); $(document).ready(function() { $('.elem').click(function(){ $('#itog').append('<div class="work">надпись</div>'); }); $('.work').click(function(){ $(this).remove(); }); }); |
СПасибо за совет, но так тоже не работает. Да и хотелось бы вообще fadeOut сделать, но так тоже не работает.
|
Вы вешаете событие до того как элемент был добавлен на страницу.
Попробуйте так: $(document).ready(function() { $('.elem').click(function(){ $('#itog').append('<div class="work">надпись</div>'); $('.work').click(function(){ $(this).hide(); }); }); }); |
Цитата:
|
Дублирование Append
При многократном нажатии Append дублируется. Как этого избежать?
Прошу помощи... |
1-ый способ:
$(document).ready(function() { $('#itog').delegate(".work", "click", function( e ){ $(e.currentTarget).hide(); }); $('.elem').click(function(){ $('#itog').append('<div class="work">надпись</div>'); }); }); 2-ой способ: $(document).ready(function() { $('.elem').click(function(){ $('<div class="work">надпись</div>') .click(funcion(){$(this).hide();}) .appendTo('#itog'); }); }); |
Не работают... Ни тот ни другой :(
|
$(function() { $('.elem').click(function() { if (!$(this).has('.work').length) $('<div class="work">Work</div>').appendTo('.elem'); }); $('.work').live('click', function() { $(this).hide(); }); }); |
Работает! :)
$(this).hide(); видимо лучше заменить на $(this).remove(); Спасибо! |
Часовой пояс GMT +3, время: 13:51. |