Con:
if(element.hasClass("class"))
Puedo verificar si hay una clase, pero ¿hay alguna manera fácil de verificar si "elemento" tiene alguna clase?
Estoy usando:
if(element.hasClass("class") || element.hasClass("class") ... )
Lo cual no es tan malo, pero estoy pensando en algo como:
if(element.hasClass("class", "class2")
Lo que desafortunadamente no funciona.
¿Hay algo como eso?
.hasClass()
pero su solución parece haber funcionado, gracias$('element').is('.class1.class2')
hizo.class1.class2
coincidirá con elementos que tengan ambas clases, pero estaban buscando elementos que coincidan con cualquiera de las clases.funciona, pero es un 35% más lento que
Si dudas de lo que digo, puedes verificarlo en jsperf.com .
Espero que esto ayude a alguien.
fuente
Esto debería hacerlo, simple y fácil.
fuente
filter () es otra opción
fuente
¿Qué tal esto?
fuente
Aquí hay una respuesta que sigue la sintaxis de
No es el más rápido, pero es inequívoco y la solución que prefiero. banco: http://jsperf.com/hasclasstest/10
fuente
Error: $self is not defined
var $self = $(this);
justo antes del ciclo for¿Qué hay de esto?
Fácil de usar,
Y parece ser más rápido, http://jsperf.com/hasclasstest/7
fuente
Qué pasa:
fuente
> 0
. Si la longitud no es cero, devolverá verdadero.jQuery
Vanilla JS
fuente
use la función predeterminada js match ():
para usar variables en regexp, use esto:
Por cierto, esta es la forma más rápida: http://jsperf.com/hasclass-vs-is-stackoverflow/22
fuente
Funciona para mi:
fuente
Puedes hacerlo de esta manera:
fuente
Esto funcionó para mí:
fuente
$('.class1.class2')
sin necesidad de utilizar un selector de atributos para la segunda clase. Además, la pregunta es cómo seleccionar un elemento por una de las clases, no todas.