2011-11-29 10 views
7

La bolla di filosofia è come un div di virgolette in cui è presente un controllo del punto di condivisione, il campo RichHTml che consente agli utenti di digitare contenuto durante la modifica della pagina, ma se l'utente sceglie di lasciarlo vuoto , non ci sarà alcun contenuto nel div in modo che solo la bolla apparirà nella pagina che sembrerà divertente quindi voglio nascondere l'intero div quando non vi è alcuna voce dell'utente o in pratica il div è vuoto ?? Come si fa a jquery? selettore diNascondi un div se il contenuto è vuoto

<div class="philosophy-bubble"> 
<PublishingWebControls:RichHtmlField FieldName="carephilosophy" runat="server"></PublishingWebControls:RichHtmlField> 
</div> 

risposta

19

utilizzare jQuery :empty:

$('.philosophy-bubble:empty').hide(); 

Ecco a working fiddle.

alternativa

Si potrebbe anche usare la funzione filter() per trovare tutte vuote div e nascondere:

//All divs 
$('div').filter(function() { 
     return $.trim($(this).text()) === '' 
}).hide() 

//div's with a certain class 
$('.philosophy-bubble').filter(function() { 
     return $.trim($(this).text()) === '' 
}).hide() 

//div with a specific ID 
$('#YourDivID').filter(function() { 
     return $.trim($(this).text()) === '' 
}).hide() 

.etc.

Nota: il selettore :empty sarà più efficiente. See jsPerf.

+0

Il mio DIV è vuoto solo se manca un altro DIV con determinate classi: http://stackoverflow.com/questions/26845161/how-to-hide-a-div-if-content-are-missing. Come posso applicare lo stesso per il mio codice? Grazie. – Si8

-1
var myDiv = $('#myDiv'); 

if (myDiv.text() == '') 
{ 
    myDiv.hide(); 
}