如何在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();
你可以看到它在这里工作:
您使用的方法似乎比它需要的更复杂。
尝试使用它作为处理程序,它更精确,更容易阅读:
$(this).parent(".cparent").html('Deleting...').delay(1000).fadeOut();