2009-08-31 14 views
7

Ho un div che è mobile a sinistra e l'altro a destra. Voglio controllare se il div che sta a destra ha l'elemento children; se non ha alcun elemento visibile, voglio applicato e nuova classe al div sinistro. Vedi sotto:Come posso verificare se un elemento ha elementi figli usando jquery?

<div id="leftContent" class="left "> 
    <table></table> 
</div> 


<div id="rightContent" class="content"> 
    //the dom has no visible element 
    //”#ctl00_ContentPlaceHolder1_ somegridView” is not visible  
</div> 

E sto utilizzando il seguente script:

$(document).ready(function() { 
    if ($(“#ctl00_ContentPlaceHolder1_ somegridView”).lenght = 0) { 

     $("# leftContent ").removeClass("left"); 
     $("# leftContent ").addClass("center"); 


    } 
}); 

div.left 
{ 
    float: left; 
    width: 365px; 
    margin-left: 5px; 
    padding-left: 2px; 
} 
div.center 
{ 
    padding: 2px; 
    margin: 5px; 
    float: none; 
    width: 95%; 
    clear: both; 
} 

Se div id="rightContent" vuoto?

+0

attento ... 'rightContent' ha figli, ma sono i nodi di testo. Non sono sicuro se sia intenzionale, ma '// ...' è un commento in stile C, e '' è un commento html. – Eric

+0

right Il testo del contenuto è un commento. – Tony

risposta

13
if ($("#rightContent").children().length > 0) 
{ 

    // do style changes 

} 
+1

puoi effettivamente rimuovere la parte "> 0" ... anche se potrebbe essere un po 'meno leggibile –

+0

o solo - if ($ ("# rightContent"). Children() [0]) {} – James

11

È possibile utilizzare is con :empty.

if($('#rightContent').is(':empty')) { 

} 
+0

Grazie, era la mia prima funzione jqury. – Tony

1

Prova questo:

if ($('#rightContent').children().length === 0) { 
    //Whatever 
} 

EDIT: ID corretto

+0

Bello! funziona bene. – Tony

+0

perché confrontare con 3 segni uguali come se ($ ('# rightContent'). Children(). Length === 0) perché non 2 segno uguale –

+0

@ user750398: https://developer.mozilla.org/en/JavaScript/riferimento/operatori/Comparison_Operators – SLaks

Problemi correlati