【发布时间】:2013-08-09 21:16:37
【问题描述】:
我有以下代码:
<p class="represent">Representing</p>
<div class="clients_wrap">
<ul class="clients">
<li><img src="{{ client.get_sized_image }}"></li>
</ul>
</div>
这个块被重复了很多次。列表项的数量可能在 0 到 10+ 之间变化,但如果是 0,那么我需要隐藏它之前的 p.represent 标记——这需要独立于每个重复的代码块。
我尝试了很多方法,但无法完全弄清楚,例如
function hideEmptyClients() {
if ( $('ul.clients li').length >= 1 ) {
$('ul.clients').parent().closest('p').hide();
}
}
$(function() {
hideEmptyClients();
});
已解决: Tomalak 提供的最佳解决方案:
$(function () {
$('ul.clients:not(:has(li))').closest(".represent_wrap").hide();
});
【问题讨论】:
标签: jquery dom dom-traversal jquery-traversing