1

具有以下块结构:

<div class="container">
    <div class="title"></div>
    <div class="subject"></div>
</div>

.container如果它的孩子.subject是空的,是否可以隐藏(显示:无)a ?谢谢!

4

4 回答 4

4

好吧...您可以尝试伪造它...使标题position: absolute和容器集overflow: hidden;容器本身只有在您将某些内容放入 .subject 标记时才可见。像这样: jsfiddle示例

于 2013-02-12T13:05:49.553 回答
2

我相信你必须使用javascript来做到这一点。在 jQuery 中:

$(".container").each( function() {
    if ( $(this).children('.subject').html() == '' ) {
           $(this).hide();
    }
} );

示例在:http: //jsfiddle.net/m5jjs/

于 2013-02-12T13:00:14.803 回答
1

:empty如果元素没有节点但你有,则可以使用伪类。不过需要JS。

$(".container *") {
   if($.trim($(this).html()).length == 0 && $.trim($(this).text()).length == 0 ) {
     $(".container").css({ "display" : "none" });
   }
});
于 2013-02-12T12:58:45.227 回答
1

目前在我所知道的任何浏览器中都无法使用纯 CSS。

如果您在项目中已经有 jQuery 依赖项,那么在CSS 选择器级别 4中有一个 jQuery 插件cssParentSelector polyfill用于即将到来的选择器。

于 2013-02-12T13:00:59.850 回答