我有以下HTML结构:
<div class="comment">
...
<div class="comment">
</div>
...
</div>
我需要选择带有“comment”类的父元素,但只选择主元素,而不是嵌套的元素。
问题是,我不能使用这样的东西:
$("parent > .comment")
因为main是以变量形式给出的。
答案 0 :(得分:1)
您可以使用filter
方法:
$('div.comment').filter(function(){
return !$(this).parents('.comment').length;
});
或者:
$('div.comment').filter(function() {
return !$(this.parentNode).closest('.comment').length;
});
答案 1 :(得分:0)
$('.comment').filter(function(){
if($(this).closest('.comment').length > 0)
return false;
})
答案 2 :(得分:0)
您可以尝试这样的事情:
$("div.comment").not("div.comment > div.comment")
答案 3 :(得分:0)
鉴于您提供的结构,只有一个嵌套级别,这有效:
$(".comment:has(.comment)")
它仅选择具有类comment
且具有类comment
或者,如果要选择具有嵌套div的类comment
的元素,则可以执行以下操作:
$(".comment:has(div)")
答案 4 :(得分:0)
如果嵌套的是直接子项,您应该能够使用:
$('.comment .comment').parent();
答案 5 :(得分:0)
尝试使用parents:
$('.comment').parents('.comment');