我有一个像这样构建的评论列表:
<article class="comment">
<span class="field"></span>
</article>
在我的网页中,有些<article class="comment">
不包含
<span class="field"></span>
我只需要显示那些span
元素。
我试过这个:jQuery('article.comment:not(:has(span.field)').hide();
也试过这个:
if (jQuery('span.field').length) {
jQuery('article.comment').show();
}
else { jQuery('article.comment').hide(); }
但这隐藏了所有article.comment
div,我想隐藏没有span
元素的那些。
欢迎任何建议。
谢谢!
答案 0 :(得分:2)
您缺少一个括号,即关闭:not
:
jQuery('article.comment:not(:has(span.field))').hide();
答案 1 :(得分:0)
尝试这样做:
jQuery('article.comment').each(function() {
if(jQuery(this).find('.field').length) {
jQuery(this).show();
} else {
jQuery(this).hide();
}
});
答案 2 :(得分:0)
您需要循环浏览文章并根据现有字段隐藏或显示每个文章 -
jQuery('article.comment').each(function() {
if(jQuery(this).find('.field').length) {
jQuery(this).show();
} else {
jQuery(this).hide();
}
});
答案 3 :(得分:0)
遍历所有跨度并向父母展示。
jQuery('article').hide();
jQuery('article span.field').each(function( i, elem){
$(elem).parent().show();
});
答案 4 :(得分:0)
你可以试试这个:
jQuery(".comment").hide();
jQuery(".comment .field").parent().show();