2012-01-06 90 views
1

我创建tags-的列表,并希望添加删除的父对象跨越这个按钮 - 下面的代码是我用来创建标签访问一个锚链接

<li> 
<span id="tag_'+html.id+'" class="tag">'+formvalue+' 
    <span class="remove_tag"> 
     <a class="remove_tag_link" href="#">x</a> 
    </span> 
</span> 
</li> 

如果JS我捕获锚点标签上的点击我将如何使用在ID中传递的ID(用于标识标签)来删除开始li(以及其中包含的所有内容)?

+0

它们是动态添加的吗?即一旦页面被初始加载? – ManseUK 2012-01-06 10:57:51

+0

工作[示例](http://jsfiddle.net/M65rC/)。 – 2012-01-06 11:14:09

+0

我在一个页面中检查了这个,然后粘贴到小提琴上,我在我的小提琴中观察到了这个问题,但是如果你在一个页面中使用这个问题,这个问题就会起作用。 – 2012-01-06 11:15:24

回答

0

您可以更轻松地结合的Click事件的li元素,并使用

$(this).remove(); 

您的处理程序中删除它。

2

试试这个

$('.remove_tag a').on('click', function(event){ 
    event.preventDefault(); 
    $(this).parents('li').remove(); 
}) 
+0

这可能会产生不需要的效果,比如说它包含在更高层次的li中。我建议将它改为'$(this).parents('li')。first()。remove();' – pederOverland 2012-01-06 11:06:31

0
$(".remove_tag_link").click(function(e){ 
    e.preventDefault(); 
    $(this).closest('li').remove(); 
}); 
0

你并不需要使用ID做什么你问。这将删除包含点击链接的li ...

$(function() { 
    $(".remove_tag_link").click(function() { 
     $(this).parent().parent().remove(); 
    }); 
});