После функции 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, время: 21:20. |