0

要素の削除機能を機能させるのに問題があります。

私はこの機能を持っています:

//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のみを削除することです。私は、最も近いものがイベントから最も近い要素を選ぶと思いました。この場合、削除ボタンをクリックします。

私は何が欠けていますか?

4

1 に答える 1

4

すべての削除リンクを取得するセレクターをdeleteItem関数に渡します。このようなものが必要になります。

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

$("a.delete").live('click', function() {
  deleteItem($(this));
});
于 2009-08-20T15:18:04.083 に答える