ok heres ce que j'ai ... ça marche bien mais ça cherche un mot plutôt que du contenu. Je veux juste que ça se passe quand il y a du contenu ..
$(document).ready(function(){
if ($("#box3:contains('Product')").length) {
$('#third').show();
}
});
je ne pense pas que vous ayez besoin du HTML pour cela
il cherche 'produit' comment puis-je le faire juste chercher du contenu> 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>
c'est un panier d'achat interspire de sorte que %% panel.upc %% appelle quelque chose inséré via le panneau d'administration. dans ce cas, s'il n'y a rien .. il est indiqué comme un espace vide dans le code (affichage de la source dans le navigateur).
Si vous voulez vérifier text, vous pouvez utiliser la méthode text()
:
$(document).ready(function(){
if ($("#box3").text().length > 0) {
$('#third').show();
}
});
Ou pour le HTML:
$(document).ready(function(){
if ($("#box3").html().length > 0) {
$('#third').show();
}
});
Pour la question mise à jour: Vérifiez le texte coupé du <div>
intérieur, comme ceci:
if ($.trim($("#box3 div").html())) {
$('#third').show();
}
Réponse précédente: Si vous voulez montrer s'il a rien, alors vérifier :not()
contre :empty
fonctionne:
if ($("#box3:not(:empty)").length) {
$('#third').show();
}
Si vous voulez rechercher des éléments (pas nécessairement des espaces uniquement), utilisez alors :has(*)
, comme ceci:
if ($("#box3:has(*)").length) {
$('#third').show();
}
Vous pouvez également utiliser le sélecteur CSS3 :empty
div#empty-div:empty {
display: none;
}
Le sélecteur :empty
ne cible que les éléments vides, sans espace.
Vous pouvez également vérifier la longueur du code HTML dans votre sélecteur:
if ($("#box3").html().length) {
$('#third').show();
}