2010-01-24 20 views
9

tengo un elemento DOM con class = 'tag'.usa event.target para obtener el valor de la clase?

Quiero comprobar si el valor de clase es etiqueta y alertar a un mensaje si es verdadero.

escribí:

$("#thread").each(function(event) { 
     if(event.target.class == 'tag') alert('yes'); 
    }); 

pero no funcionó. puedes obtener la identificación con event.target.id pero no la clase con este código? ¿Cuáles son todos los valores que puede tener después de event.target?

Respuesta

14

Al principio, el argumento event funciona solo para controladores de eventos, y está utilizando el método $.each.

Realmente no creo que quiera/necesite usar el método $.each, ya que está utilizando un selector #id, y los identificadores deben ser únicos.

Para comprobar si un elemento contiene una clase específica se puede utilizar el hasClass método:

if ($("#thread").hasClass('tag')) { 
    //... 
} 

También si usted tiene un elemento DOM, conseguirlo es atributo de clase, se debe acceder a ella con className lugar class, eso es porque class es una palabra reservada futuro en JavaScript, lo mismo sucede con otros atributos como for, se debe acceder como htmlFor ...

+3

donde puedo encontrar todos los atributos para usar con event.target? – ajsie

+0

dice event.target no está definido? – ajsie

1

está utilizando jqu cada método es incorrecto. toma dos argumentos, ninguno de ellos es un evento (que respondería a la propiedad del objetivo). Del docs:

$.each([52, 97], function(index, value) { 
    alert(index + ': ' + value); 
}); 

Véase la respuesta de CMS para la forma correcta de comprobar si los elementos tienen un nombre de clase dado.

0

Aquí tienes.

$("div").each(function (index, domEle) { 
    if (domEle.hasClass("tag")) { 
     console.log('yes'); 
    } else { 
     console.log('no'); 
    } 
}); 
+0

¿Hay forma de calcular la hora si algo no tiene una clase? Lo opuesto a esto? – user982853

23
if($(event.target).hasClass("tag")) 
{ 
    alert("yes"); 
} 

Esto funcionará bien.

+0

sí de hecho ... =) – Roylee

+2

La respuesta aceptada responde al ejemplo específico, pero esta respuesta responde a la pregunta – RasTheDestroyer

+0

Esta debería ser la respuesta aceptada. – respectTheCode

0

sólo tiene que utilizar dentro de la condición:

!domEle.hasClass("tag") 
Cuestiones relacionadas