Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.03.2013, 11:36
Аспирант
Отправить личное сообщение для AdDa Посмотреть профиль Найти все сообщения от AdDa
 
Регистрация: 04.11.2012
Сообщений: 41

Удаление элемента
Вот у меня функция добавления элемента
$('button.add-link').click(function(e) {

var parentEls = $('#link-project').val();
$("#link").append('<label><a href="http://'+parentEls+'">'+parentEls+'</a><img id="close" src="images/close-link.png"/></label>');
e.preventDefault();
})
Как мне удалить элемент при клике на close-link.png ?
Ответить с цитированием
  #2 (permalink)  
Старый 21.03.2013, 11:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('#close').click(function(e) {
    $(this).closest('label').remove();
})
Ответить с цитированием
  #3 (permalink)  
Старый 21.03.2013, 19:10
Аспирант
Отправить личное сообщение для AdDa Посмотреть профиль Найти все сообщения от AdDa
 
Регистрация: 04.11.2012
Сообщений: 41

Что то не работает...
При клике создается блок
<label>
<a href="http://as">as</a>
<img id="close-link" src="images/close-link.png">
</label>
но не удаляется Вашей функцией.
Ответить с цитированием
  #4 (permalink)  
Старый 21.03.2013, 19:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Потроллить решил?
Сообщение от AdDa
<img id="close"
Сообщение от AdDa
<img id="close-link"
...

блок точно в единственном экземпляре? Иначе картинки получат одинаковые имена (id) и как их тогда различать?
Ответить с цитированием
  #5 (permalink)  
Старый 21.03.2013, 21:00
Аспирант
Отправить личное сообщение для AdDa Посмотреть профиль Найти все сообщения от AdDa
 
Регистрация: 04.11.2012
Сообщений: 41

прошу прощения, опечатался...
(function($) {
$(function() {   

	$('button.add-link').click(function(e) {
		 
			var parentEls = $('#link-project').val();  
			$("#link").append('<label><a href="http://'+parentEls+'">'+parentEls+'</a><img id="close-link" src="images/close-link.png"/></label>');
			e.preventDefault(); 
	}) 
	
	
	$('#close-link').click(function(e) {
    $(this).closest('label').remove();
})

 
})
})(jQuery)


Вот весь код , блок создаётся следующий
<label><a href="http://dasdas">dasdas</a><img id="close-link" src="images/close-link.png"></label>
, но не удаляется
Да блок в единственном экземпляре
Ответить с цитированием
  #6 (permalink)  
Старый 21.03.2013, 21:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Обработчик для #close-link нужно навешивать только когда этот элемент существует. А существовать он начинает после $('#link').append(...

Альтернативный вариант - делегировать обработку клика родительскому элементу (всегда существующему) через $(parent).on('click' , '#close-link', fn)
Ответить с цитированием
  #7 (permalink)  
Старый 21.03.2013, 21:32
Аспирант
Отправить личное сообщение для AdDa Посмотреть профиль Найти все сообщения от AdDa
 
Регистрация: 04.11.2012
Сообщений: 41

поясните пожалуйста , куда мне вставить эту строчку то ?
Ответить с цитированием
  #8 (permalink)  
Старый 21.03.2013, 21:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от danik.js
после $('#link').append(
  
Ответить с цитированием
  #9 (permalink)  
Старый 21.03.2013, 23:24
Аспирант
Отправить личное сообщение для AdDa Посмотреть профиль Найти все сообщения от AdDa
 
Регистрация: 04.11.2012
Сообщений: 41

чёт нифига не получается... или я не туда пихаю эту строчку
Ответить с цитированием
  #10 (permalink)  
Старый 22.03.2013, 01:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

AdDa,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
  (function ($)
    {
      $(function ()
        {
        $('input.add-link').click(function(e){
            var parentEls = $('#link-project').val();
              $("#link").append('<label><a href="http://' + parentEls + '">'
              + parentEls
              + '</a><img id="close-link" src="http://javascript.ru/forum/images/smilies/no.gif"/></label>');
              $('#close-link').click(function (e)
                {
                  $(this).closest('label').remove();
                }
              )
              e.preventDefault();

        });
       }
      )
    }
  )(jQuery)
  </script>
</head>

<body>
<input id="link-project">
<input value="add-link" class="add-link" type=button>

<div id="link"></div>
</body>

</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элемента массива по его названию Dorian_bs Общие вопросы Javascript 13 04.07.2013 21:28
Удаление элемента из HTML-списка Kostyk92 Элементы интерфейса 1 06.02.2012 23:00
удаление элемента dom Catherine Events/DOM/Window 0 28.10.2011 23:35
Удаление элемента страницы Luter1984 Общие вопросы Javascript 3 20.01.2011 18:51
Массивы удаление элемента и вставка на его место другого mycoding Общие вопросы Javascript 1 19.04.2010 22:30