ok heres what i have... it works fine but it looks for a word rather than content. i just want it to show when there is any content..
$(document).ready(function(){
if ($("#box3:contains('Product')").length) {
$('#third').show();
}
});
i dont think you need the html for this
it looks for 'Product' how do i make it just look for content >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>
its an interspire shopping cart so the %%panel.upc%% calls in something inserted through the admin panel. in this case if there is nothing.. it shows as blank space in the code (viewing source in browser).
If you want to check for text, you can use the
text()
method:Or for html:
For the updated question: Check the trimmed text of the inner
<div>
, like this:Previous answer: If you want to show if it has anything, then checking
:not()
against:empty
works:If you want to check for any elements (not possibly whitespace only), then use
:has(*)
, like this:You can also check for the HTML's length inside your selector:
You can also use the CSS3 selector
:empty
The
:empty
selector is only targeting just empty elements, without white space.