2012-05-18 17 views
5

tratando de verificar si un objeto tiene una clase. Parece bastante simple, pero no puedo hacer que funcione. Aquí está mi código:jQuery: compruebe si un objeto tiene clase

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

lo que no funciona? – CambridgeMike

+6

¿Necesita los paréntesis alrededor de la condición 'if'? – CambridgeMike

Respuesta

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

debería ser

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

Esto se habría observado fácilmente cuando haya echado un vistazo a la consola de errores del navegador. :-)

+0

Gracias! Comenzaré a usar la consola de error. – colindunn

0

incluyen el código completo en

$(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'); 

}); 

esperanza esto ayuda ..

Cuestiones relacionadas