我有以下HTML結構:jQuery的預防選擇嵌套的div
<div class="comment">
...
<div class="comment">
</div>
...
</div>
,我需要選擇帶班「評論」的父元素,但只有主之一,而不是嵌套的。
的問題是,我不能使用這樣的事情:
$("parent > .comment")
因爲主要是變量給出。
我有以下HTML結構:jQuery的預防選擇嵌套的div
<div class="comment">
...
<div class="comment">
</div>
...
</div>
,我需要選擇帶班「評論」的父元素,但只有主之一,而不是嵌套的。
的問題是,我不能使用這樣的事情:
$("parent > .comment")
因爲主要是變量給出。
您可以使用filter
方法:
$('div.comment').filter(function(){
return !$(this).parents('.comment').length;
});
或者:
$('div.comment').filter(function() {
return !$(this.parentNode).closest('.comment').length;
});
$('.comment').filter(function(){
if($(this).closest('.comment').length > 0)
return false;
})
你可以嘗試這樣的事:
$("div.comment").not("div.comment > div.comment")
給您所呈現的結構,只用一個嵌套的水平,這個工程:
$(".comment:has(.comment)")
它選擇的是具有類子元素與comment
類只元素comment
另外,如果您想選擇與comment
類元素嵌套的div,你可以這樣做:
$(".comment:has(div)")
前提是嵌套的有二矩形的孩子,你應該能夠使用:
$('.comment .comment').parent();
嘗試使用parents:
$('.comment').parents('.comment');
你想添加一個監聽器,它還是什麼? – Sedz