jquery遍历以查找父项';父母
HTML:jquery遍历以查找父项';父母,jquery,Jquery,HTML: authorx 究竟 12-23 13:22:15 我想在本节中找到相对于的父li。我找不到这样做的函数。我试过prev(),parentsUntil()他们都做不到。目前,我必须使用$(this).parent().parent().parent()才能访问。是否有直接查找父级的功能?您可以使用。试试这个: <li class="comment"> <div class="p_comm"> <div class="avatar"><
authorx
究竟
12-23 13:22:15
我想在本节中找到相对于
的父li。我找不到这样做的函数。我试过prev(),parentsUntil()
他们都做不到。目前,我必须使用$(this).parent().parent().parent()
才能访问
。是否有直接查找父级的功能?您可以使用。试试这个:
<li class="comment">
<div class="p_comm">
<div class="avatar"><img src="/img/1.jpg"></div>
<div class="c_auth">author<a class="del" title="delete it!" rel="19">x</a></div>
<div class="c_cont w">what ever</div>
<div class="c_time">12-23 13:22:15</div>
</div>
</li>
.parent()
本身仅指节点的直接祖先,但您也可以执行以下操作:
$(this).closest("li.comment");
让JQuery返回DOM树,直到找到匹配的祖先节点。在这种情况下,li
将指向a
的li
祖先
编辑:忘记了
.parent()
只上升一级,而.parents()
上升整个树。但是,两者都接受选择器参数。或者:
var li = $('a.del').parents('li.comment');
.parents()和.parent()方法类似,只是
后者只在DOM树上移动一个级别
正如您所看到的,当您使用带选择器的父对象时,您将不会有问题。您应该使用它来遍历DOM,直到它找到您要查找的元素:
var p = $('.del').parents('li');
console.log(p);
如果您以另一种方式执行此操作(即,您拥有li
并希望找到a
),您将使用:
$('a').closest('li');
使用以下代码:
$("a.del").click(function() {
alert($(this).closest("li").attr("class"))
})
他最好还需要一个用于可维护性目的的选项选择器。如果在问题中给出的示例范围之外,DOM上还有其他“li”元素,则这是危险的
$('li').find('a');
$("a.del").click(function() {
alert($(this).closest("li").attr("class"))
})
$(function(){
$("a").click(function(){
$(this).parents("li").hide();
})
})