HTML看起来像这样:
<li class="divider">
<div>
...(maybe more divs)...
<div class="content">
...(maybe more divs)...
<a href="#" class="link">LINK</a>
...
如何在链接上挂钩的jQuery函数中选择.content DIV? 请注意,我有这样的多个列表,并且在其中一些列表中可能缺少div.content,所以我只想在当前块(li.divider)中存在时选择此div。
我尝试使用$link.parent().parent().find('content')
,但在某些情况下失败,因为这两个元素之间的元素数量可能会发生变化......
答案 0 :(得分:5)
如果它们没有嵌套,你应该可以这样做:
$('a.link').click(function() {
$(this).closest('div.content');
});
或
$('a.link').click(function() {
$(this).parents('div.content:first');
});
如果它们是嵌套的,那么您可能需要执行以下操作:
$('a.link').click(function() {
$(this).closest('li.divider').find('div.content');
});
...因此,如果正在进行嵌套,并且当前没有嵌套div.content
,那么您最终不会选择更远的div.content
祖先。
答案 1 :(得分:0)
$link.parent(".content")
?
答案 2 :(得分:0)
使用closest
选择器...
var parentContent = $(this).closest("div.content");
if(parentContent.length > 0) {
alert("DIV was found!");
}