1

次のブロック構造を使用します。

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

子が空.containerの場合、aを非表示(display:none)にすることはできますか?.subjectありがとう!

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

:emptypsuedoクラスは、要素にノードがないが、ノードがある場合に使用できます。ただし、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 に答える