jquery遍历以查找父级的父级
HTML:
我想找到相对于本节中的父li。 我找不到这样做的function。 我试过
prev(),parentsUntil()
没有人能做到这一点。 目前我必须使用$(this).parent().parent().parent()
来达到
的function?
或这个:
$(this).parents('li');
你可以使用closest()
。 试试这个:
$(this).closest("li.comment");
var p = $('.del').parents('li'); console.log(p);
.parents()和.parent()方法类似,只是后者只在DOM树上运行一个级别。
正如您所看到的,当您使用带选择器的父母时,您会没事的。
你应该使用closest()
来遍历DOM,直到它找到你所追求的元素:
$('a').closest('li');
如果你是这样做的另一种方式(即你有li
并想找到a
)你会使用:
$('li').find('a');
$("a.del").click(function() { alert($(this).closest("li").attr("class")) })
.parent()
本身只是指节点的直接祖先,但你也可以这样做:
var li = $('a.del').parents('li.comment');
让JQuery返回DOM树,直到找到匹配的祖先节点。 在这种情况下, li
将指向a
的li
祖先。
编辑:忘了.parent()
只上升一级,而.parents()
上升到整个树。 但是,两者都接受选择器参数。
使用以下代码:
$(function(){ $("a").click(function(){ $(this).parents("li").hide(); }) })