私が持っているものはここにあります...それはうまく動作しますが、コンテンツではなくWordを探します。コンテンツがあるときに表示したいだけです。
$(document).ready(function(){
if ($("#box3:contains('Product')").length) {
$('#third').show();
}
});
このためにHTMLが必要だとは思わない
それは「製品」を探しますどのように私はそれがちょうどコンテンツを探すようにする> 0
<div id="first" class="tab" >
<div class="tabtxt">
<a>DETAILS</a>
</div>
</div>
<div class="tab" id="second">
<div class="tabtxt">
<a>INSPIRATION</a>
</div>
</div>
<div class="tab" id="third" style="display:none">
<div class="tabtxt">
<a>NOTES</a>
</div>
</div>
<div class="boxholder">
<div style="overflow: hidden; display:block" class="box" id="box1">
<div style="padding: 10px; line-height:16px">
%%Panel.ProductDescription%%
</div>
</div>
<div style="overflow: hidden; display:none" class="box" id="box2">
<div style="padding: 10px; line-height:16px">
%%Panel.ProductWarranty%%
</div>
</div>
<div style="overflow: hidden; display:none" class="box" id="box3">
<div style="padding: 10px; line-height:16px">
%%Panel.UPC%%
</div>
</div>
</div>
そのインタラピッドショッピングカートなので、%% panel.upc %%は管理パネルから挿入されたものを呼び出します。この場合、何もない場合は、コード内に空白スペースとして表示されます(ブラウザーでソースを表示)。
textを確認する場合は、text()
メソッドを使用できます。
$(document).ready(function(){
if ($("#box3").text().length > 0) {
$('#third').show();
}
});
またはhtmlの場合:
$(document).ready(function(){
if ($("#box3").html().length > 0) {
$('#third').show();
}
});
更新された質問の場合:次のように、内側の_<div>
_のトリミングされたテキストを確認します。
_ if ($.trim($("#box3 div").html())) {
$('#third').show();
}
_
前の答え:anythingがあるかどうかを表示したい場合は、 :not()
に対する _:empty
_ のチェック:
_ if ($("#box3:not(:empty)").length) {
$('#third').show();
}
_
任意の要素(空白だけではない)を確認する場合は、次のように :has(*)
を使用します。
_ if ($("#box3:has(*)").length) {
$('#third').show();
}
_
CSS3セレクター:empty
を使用することもできます
div#empty-div:empty {
display: none;
}
:empty
セレクターは、空白なしで、空の要素のみを対象としています。
セレクター内でHTMLの長さを確認することもできます。
if ($("#box3").html().length) {
$('#third').show();
}