我正在试图弄清楚如何遍历所有父类(.grid),如果它没有带有类(.image-container)的子div,则在同一个(.content-container)中显示(.content-container)。网格)部分。
HTML:
<style>
.grid .content-container {
display:none;
}
</style>
<div class="grid">
<div class="art">
<div class="image-container">
<img src="image url" />
</div>
</div>
<div class="title">Title Text</div>
<div class="content-container">Some Content Goes here</div>
</div>
<div class="grid">
<div class="art"></div>
<div class="title">Title Text</div>
<div class="content-container">Some Content Goes here</div>
</div>
<div class="grid">
<div class="art">
<div class="image-container">
<img src="image url" />
</div>
</div>
<div class="title">Title Text</div>
<div class="content-container">Some Content Goes here</div>
</div>
<div class="grid">
<div class="art">
<div class="image-container">
<img src="image url" />
</div>
</div>
<div class="title">Title Text</div>
<div class="content-container">Some Content Goes here</div>
</div>
<div class="grid">
<div class="art"></div>
<div class="title">Title Text</div>
<div class="content-container">Some Content Goes here</div>
</div>
答案 0 :(得分:1)
这样的事情应该有效:
$('.grid').each(function() {
if($(this).find('.image-container').length == 0) {
// no children
$(this).find('.content-container').show();
}
});
答案 1 :(得分:1)
一个替代方案,一个电话:
$('.grid')
.filter(function fi(){return !$('.image-container', this).length})
.children('.content-container')
.show();
或者:
$('.grid')
.filter(':not(:has(.image-container))')
.children('.content-container')
.show();
或者:
$('.grid:not(:has(.image-container)) .content-container').show();
不确定哪种方式效率最高,但我会预感第一种方式。