2012-05-18 12 views
5

Prova a verificare se un oggetto ha una classe. Sembra abbastanza semplice, ma non riesco a farlo funzionare. Ecco il mio codice:jQuery: Controlla se un oggetto ha classe

Javascript

$('ul.nav li').click(function(){  
    if $(this).hasClass('selected') { 
     alert('This is selected!'); 
    } 

    else { 
     alert('This is not selected!'); 
    } 
}); 

$('ul.nav li:first-child').addClass('selected'); 

HTML

<ul class="nav"> 
    <li>Who we work for</li> 
    <li>Articles and interviews</li> 
    <li>Job openings</li> 
    <li>What the #%[email protected] is Post Typography?</li> 
</ul> 

<ul class="content"> 
    <li>This is who we work for.</li> 
    <li>These are articles and interviews.</li> 
    <li>These are our job openings.</li> 
    <li>This is some info about Post Typography.</li> 
</ul> 
+0

ciò che non funziona? – CambridgeMike

+6

Hai bisogno delle parentesi attorno alla condizione 'se'? – CambridgeMike

risposta

25
if $(this).hasClass('selected') { 

dovrebbe essere

if($(this).hasClass('selected')){ 

Questo sarebbe stato facilmente osservato quando hai dato un'occhiata alla console degli errori del browser. :-)

+0

Grazie! Inizierò a utilizzare la console degli errori. – colindunn

0

includono il codice completo in

$(document).ready(function(){ 

$('ul.nav li').click(function(){  
    if ($(this).hasClass('selected')) { 
     alert('This is selected!'); 
    } 

    else { 
     alert('This is not selected!'); 
    } 
}); 

$('ul.nav li:first-child').addClass('selected'); 

}); 

speranza che questo aiuti ..

Problemi correlati