次のブロック構造を使用します。
<div class="container">
<div class="title"></div>
<div class="subject"></div>
</div>
子が空.container
の場合、aを非表示(display:none)にすることはできますか?.subject
ありがとう!
次のブロック構造を使用します。
<div class="container">
<div class="title"></div>
<div class="subject"></div>
</div>
子が空.container
の場合、aを非表示(display:none)にすることはできますか?.subject
ありがとう!
まあ...偽物を試すことができます...タイトルposition: absolute
を作成し、コンテナセットのoverflow: hidden;
コンテナ自体は、.subjectタグに何かを入れた場合にのみ表示されます。このように:
jsfiddleの例
これを行うには、JavaScriptを使用する必要があると思います。jQueryの場合:
$(".container").each( function() {
if ( $(this).children('.subject').html() == '' ) {
$(this).hide();
}
} );
例:http://jsfiddle.net/m5jjs/
:empty
psuedoクラスは、要素にノードがないが、ノードがある場合に使用できます。ただし、JSが必要です。
$(".container *") {
if($.trim($(this).html()).length == 0 && $.trim($(this).text()).length == 0 ) {
$(".container").css({ "display" : "none" });
}
});
私が知っているブラウザでは、純粋なCSSでは現在不可能です。
プロジェクトにすでに jQuery 依存関係がある場合は、 CSS セレクター レベル 4の次の親セレクター用のjQuery プラグインcssParentSelector polyfill があります。