如何在jQuery中选择这个容器元素

我无法选择当前单击的容器元素。

我的Html

foo1 Delete
foo2 Delete

我的意思是当我点击删除链接时,相应的容器应该消失。 我怎样才能做到这一点?

我尝试了什么!

 $(".cparent",this).html('Deleting...').delay(1000).fadeOut();// not working 

我的剧本

 $(".delete").live("click",function(){ var cur = $(".delete").index(this); $(".cparent").eq(cur).html('Deleting...').delay(1000).fadeOut(); }); 

以上一个也不起作用。 请查看此示例以获得说明。

使用parent [ API Ref ]方法:

 $(this).parent().html('Deleting...').delay(1000).fadeOut(); 

this作为第二个参数传递给jQuery函数将找不到高于this元素。 或者,您可以使用closest [ API Ref ]方法:

 $(this).closest('.cparent').html('Deleting...').delay(1000).fadeOut(); 

使用closest选择直接父级

 $(".delete").live("click",function(){ var cur = $(this); cur.closest("div.cparent").html('Deleting...').delay(1000).fadeOut(); }); 

这里是小提琴http://jsfiddle.net/szVKD/10/

jquery closest

 $('div.cparent').click (function (e) { if ($(e.target).attr ('class') == 'delete') { $(this).html('Deleting...').delay(1000).fadeOut(); } } ); 

在这里小提琴

尝试使用parent() :

 $(this).parent().html('Deleting...').delay(1000).fadeOut(); 

你可以看到它在这里工作:

http://jsfiddle.net/gchoken/YFMZW/1/

您使用的方法似乎比它需要的更复杂。

尝试使用它作为处理程序,它更精确,更容易阅读:

$(this).parent(".cparent").html('Deleting...').delay(1000).fadeOut();