2009-06-30 8 views
89

Me gustaría seleccionar un conjunto de elementos que sean de un determinado tipo de entrada (por ejemplo, una casilla de verificación) y tener cierta clase usando jQuery. Sin embargo, cuando intento lo siguiente:jQuery: Seleccionar por clase y tipo de entrada

$("input:checkbox .myClass") 

No obtengo ningún artículo devuelto. ¿Cómo puedo lograr esto en jQuery?

Respuesta

153

Su selector está buscando cualquier descendiente de un elemento de casilla de verificación que tenga una clase de .myClass.

Tal vez puedas probar:

$("input.myClass:checkbox") 

Check it out in action.

También he probado esto:

$("input:checkbox.myClass") 

Y también funcionará correctamente. En mi humilde opinión, esta sintaxis realmente se ve bastante fea, ya que la mayoría de las veces espero que los selectores de estilo : sean los últimos. Como ya dije, cualquiera de los dos funcionará.

+1

Blasted: inserté mi respuesta demasiado rápido, cometí el mismo error. Oh, bueno, en lugar de editar lo retiraré y lo votaré por ver el error;) – Sampson

37

Si desea obtener las entradas de ese tipo con el que el uso de clase:

$("input.myClass[type=checkbox]") 

la sintaxis de selección [] le permite comprobar en contra de cualquiera de los elementos de atributos. Salida del spec para más detalles

3

Usted tiene que usar (por casillas de verificación) :checkbox y el atributo .name para seleccionar por clase.

Por ejemplo:

$("input.aclass:checkbox") 

El :checkbox selector:

Partidos todos los elementos de entrada de casilla de verificación tipo. El uso de este selector de pseudo como $(':checkbox') es equivalente a $('*:checkbox') que es un selector lento. Se recomienda hacer $('input:checkbox').

Debe leer jQuery documentation para saber sobre los selectores.

4

Debe utilizar el nombre de clase como esta

$(document).ready(function(){ 
    $('input.addCheck').prop('checked',true); 
}); 

tratar de usar esto un live demo

2

Prueba esto:

$("input:checkbox").hasClass("myClass"); 
1

Sólo en caso de cualquier maniquíes como yo trataron las sugerencias aquí con un botón y no encontró nada funcionó, es probable que desee esto:

$(':button.myclass') 
Cuestiones relacionadas