jquery ближайший () выбор - PullRequest
       9

jquery ближайший () выбор

0 голосов
/ 20 августа 2009

У меня проблемы с работой функции удаления элемента.

У меня есть эта функция:

//Remove an Item From Any Group
function deleteItem (selector) {
  $(selector).closest("li").fadeOut(500, function() { 
    $(selector).closest("li").remove();
  });
}

Тогда это, чтобы назвать это,

$("a.delete").live('click', function() {
  deleteItem("li span.delete a.delete");
});

С этим HTML:

<ul>
  <li><img src="" width="40" height="40" class="image"/><span><a href="#">Drinkers Pub</a></span><span class="delete"><a href="javascript:;" class="delete">delete</a></span></li>
  <li><img src="" width="40" height="40" class="image"/><span><a href="#">Drinkers Pub</a></span><span class="delete"><a href="javascript:;" class="delete">delete</a></span></li>
  <li><img src="" width="40" height="40" class="image"/><span><a href="#">Drinkers Pub</a></span><span class="delete"><a href="javascript:;" class="delete">delete</a></span></li>
</ul> 

Проблема в том, что он удаляет только первый LI в списке независимо от того, какая ссылка. Я думал, что ближайший выбирает ближайший элемент из события. В этом случае нажатие кнопки удаления.

Чего мне не хватает?

1 Ответ

4 голосов
/ 20 августа 2009

Вы передаете функции deleteItem селектор, который получает все ссылки для удаления. Тебе захочется чего-то большего.

function deleteItem (link) {
  link.closest("li").fadeOut(500, function() { 
    link.closest("li").remove();
  });
}

$("a.delete").live('click', function() {
  deleteItem($(this));
});
...