Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.05.2011, 19:13
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

После функции append удалить элемент который появился
Доброго времени.
Есть скрипт:
$(document).ready(function() {

$('.elem').click(function(){
	$('#itog').append('<div class="work">надпись</div>');
});

$('.work').click(function(){
	$(this).hide();
});	

});


Но этот код не работает. Дивы появляются, но уже не удаляются. В чем дело?
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 04.05.2011, 19:26
Аспирант
Отправить личное сообщение для ASerputko Посмотреть профиль Найти все сообщения от ASerputko
 
Регистрация: 20.10.2010
Сообщений: 73

Используй $(this).remove();
вместо $(this).hide();

$(document).ready(function() {
$('.elem').click(function(){
	$('#itog').append('<div class="work">надпись</div>');
});
$('.work').click(function(){
	$(this).remove();
});
});
Ответить с цитированием
  #3 (permalink)  
Старый 04.05.2011, 19:46
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

СПасибо за совет, но так тоже не работает. Да и хотелось бы вообще fadeOut сделать, но так тоже не работает.
Ответить с цитированием
  #4 (permalink)  
Старый 04.05.2011, 19:48
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Вы вешаете событие до того как элемент был добавлен на страницу.
Попробуйте так:
$(document).ready(function() {
 
$('.elem').click(function(){
    $('#itog').append('<div class="work">надпись</div>');
    $('.work').click(function(){
         $(this).hide();
    });
});
});
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 04.05.2011, 19:54
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Сообщение от walik Посмотреть сообщение
Вы вешаете событие до того как элемент был добавлен на страницу.
Вот теперь работает все! Спасибо большое!
Ответить с цитированием
  #6 (permalink)  
Старый 06.06.2011, 13:59
Новичок на форуме
Отправить личное сообщение для kalina Посмотреть профиль Найти все сообщения от kalina
 
Регистрация: 06.06.2011
Сообщений: 9

Дублирование Append
При многократном нажатии Append дублируется. Как этого избежать?
Прошу помощи...
Ответить с цитированием
  #7 (permalink)  
Старый 06.06.2011, 15:20
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

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');
  });
});
Ответить с цитированием
  #8 (permalink)  
Старый 06.06.2011, 18:18
Новичок на форуме
Отправить личное сообщение для kalina Посмотреть профиль Найти все сообщения от kalina
 
Регистрация: 06.06.2011
Сообщений: 9

Не работают... Ни тот ни другой
Ответить с цитированием
  #9 (permalink)  
Старый 06.06.2011, 18:45
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$(function() {
	$('.elem').click(function() {
		if (!$(this).has('.work').length)
			$('<div class="work">Work</div>').appendTo('.elem');
	});
	$('.work').live('click', function() {
		$(this).hide();
	});
});
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #10 (permalink)  
Старый 07.06.2011, 16:19
Новичок на форуме
Отправить личное сообщение для kalina Посмотреть профиль Найти все сообщения от kalina
 
Регистрация: 06.06.2011
Сообщений: 9

Работает!
$(this).hide();

видимо лучше заменить на
$(this).remove();

Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск функции после ресайзинга странички dummer232 jQuery 2 30.09.2010 16:23
Как можно удалить динамически созданный элемент Арсений Элементы интерфейса 18 08.07.2010 12:56
Как удалить элемент из документа HTML Dima00782 Общие вопросы Javascript 2 28.06.2010 17:32
имея this как удалить элемент из тела html clgs Общие вопросы Javascript 1 13.05.2009 17:55
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11