2010-07-08 48 views
49

El elemento es el siguiente:jQuery - obtener la primera clase sólo de un elemento

<li class="blah active"> ... </li> 

jQuery.attr('class') volverá ambas clases. ¿Cómo puedo obtener solo la primera clase ('blah' en este caso) con jQuery?

+3

el problema es que si se agrega/eliminar las clases a través de jQuery, no va a guardar el orden correcto de los elementos. así que tal vez quiera verificar, si esa clase está en la lista, en lugar de obtener la primera. – cRichter

+1

En general, no confío en que todos los navegadores se los devuelvan en el mismo orden. –

Respuesta

109

Necesitas split que en una matriz:

console.log(jQuery('selector').attr('class').split(' ')[0]); 
+1

O use un regex: 'var first = $ ('# foo'). Attr ('clase'). Replace (/^(\ S *). * /, '$ 1');' – Pointy

+0

@Pointy: Yup, gracias por agregar eso. – Sarfraz

+0

genial, funciona. gracias: P – Alex

5
var first = jQuery.attr('class').split(" ")[0]; 
+0

y dijo "jQuery.attr ('clase')' devolverá ambas clases ", lo que indica que con' jQuery' se refería a una instancia del objeto jQuery, no a la función contructor que invoca 'jQuery.fn.init' – galambalazs

Cuestiones relacionadas