从UL删除LI

时间:2009-12-28 23:17:05

标签: jquery

我正在尝试从图片列表中删除/删除图片。我太累了想,所以我需要一些帮助。

这是我的HTML代码:

<li id="listItem_dsc_6436.jpg"> 
  <a href="http://storelocator.com/wp-content/uploads/slgallery/brand/5f/c6/dsc_6436.jpg"><img alt="dsc_6436.jpg" src="http://storelocator.com/wp-content/uploads/slgallery/brand/5f/c6/thumb/dsc_6436.jpg"/></a>
  <div class="buttonPanel">
    <span title="Delete image" class="btnRemoveItem floatRight" id="dsc_6436.jpg"> </span>
  </div>
</li>

这是我的javascript代码:

jQuery('.btnRemoveItem').click(function(){
  jQuery('#listItem_' +jQuery(this).attr('id')).remove();
});

这不起作用。我错过了什么?

4 个答案:

答案 0 :(得分:3)

尝试$(this).closest('li').remove()
您还可以向ImageItem添加一个类(例如li),然后调用closest('li.ImageItem').remove()

closest函数查找与选择器匹配的最近父元素。

修改: 要使其淡出,请写下以下内容:

var li = $(this).closest('li')
li.fadeOut('slow', function() { li.remove(); });

这将在动画完成后删除元素。

答案 1 :(得分:1)

我认为可能是选择器中的.令人困惑。你告诉它找到ID为listItem_dsc_6436且类jpg的东西,这不是你想要的: - )

如果可以,请替换.服务器端。或者你甚至可以用一些jQuery fu来做客户端。否则,SLaks建议应该同样有效。

答案 2 :(得分:0)

IE不喜欢可点击的跨度。特别是空的。在其中输入一些文字。

Some more versions here

答案 3 :(得分:0)

jQuery不喜欢ID中的点: docs 去掉 '。'来自id,一切都会正常工作;)