2012-03-06 3 views
0

Hod Est-ce que je cache le div div EventsRollup si le div enfant RelatedEventsList est vide ??cacher div parent si enfant div est vide

<div class="EventsRollup"> 
<span class="EventsRollupTitle">CPR &amp; Health Safety Classes</span><br /><br/>                
    <div class="RelatedEventsList"> 
    <!--EMPTY with a lot of whitespaces etc. but no text--> 
    </div> 
</div><!--END EventsRollup--> 

Pourquoi cela ne fonctionne-t-il pas?

var listtext=$.trim($('.RelatedEventsList').text()); 
if (listtext===""){ 
    $('.EventsRollup').hide(); 
}  
+1

Avez-vous essayé de comparer la longueur à la place de null? –

+2

Fonctionne bien: http://jsfiddle.net/3E3Y2/. –

+1

Fonctionne pour moi: http://jsfiddle.net/3V5Vs/ –

Répondre

2

.text() peut retourner des espaces et des sauts de ligne.

if (!/\S/.test(listtext)){ 
    $('.EventsRollup').hide(); 
} 
1

Ce que vous avez devrait fonctionner correctement, même si je fais habituellement les suivantes

var listtext=$.trim($('.RelatedEventsList').text()); 
if (listtext.length === 0){ 
    $('.EventsRollup').hide(); 
} 
1

Essayez d'utiliser la fonction html():

var listText = $.trim($('.RelatedEventsList').html()); 
if(listText == '') { 
    $('.EventsRollup').hide; 
} 
Questions connexes