2010-08-11 11 views
8

Estoy seguro de que esto es dolorosamente simple, pero parece que puedo encontrarlo.jQuery - Obtenga una selección basada en el valor

Necesito obtener una selección de cuadros de texto de su valor. No necesito el valor, necesito los elementos. Quiero algo como:

$(".ProductCode [value:'hideme']").hide(); 

termino con

unrecognized expression: [value:'hideme'] 

por cierto,

$(".ProductCode").each(function() { if ($(this).val() == 'hideme') $(this).hide(); }); 

está trabajando, pero no parece muy limpio.

+0

No hay necesidad de usar 'cada uno()'. Cuando seleccione elementos, preformará 'hide()' en todos los elementos seleccionados. He editado mi respuesta para incluir un ejemplo jsFiddle que oculta 2 cuadros de texto a la vez. –

+0

bien, no solo tenía un: en lugar de un = , sino que también tenía un espacio allí. Gracias a ambos, se lo di a @ peter-ajtai para el ejemplo de jsFiddle. pero +1 a ambos. –

Respuesta

14

Uso del attribute equals selector de jQuery

$(".ProductCode[value='hideme']").hide(); 

Para ser más precisos, también se puede utilizar el multiple attribute selector:

$("input[class='ProductCode'][value='hideme']").hide(); 

La diferencia entre ambos es que el primero selecciona todos los elementos con una cierta clase y valor El segundo solo selecciona todas las ENTRADAS con una cierta clase y valor.

Estos selectores seleccionarán todos de los elementos aplicables. De modo que la función hide() ocultará todos los elementos. Por lo tanto, no es necesario repetir "manualmente" los elementos seleccionados con each() u otras cosas ... hide() hace automáticamente eso por usted.

Here is a live example.

7

Probar:

$(".ProductCode[value='hideme']").hide(); 

Ver Attribute Equals Selector en la documentación de jQuery para más detalles.

+0

wow, debería haberlo visto. Así que ya no recibo el error, pero tampoco estoy obteniendo nada seleccionado. ¿Hay una lista de atributos, o se trata de los atributos de HTML específicamente a los que se refiere jQuery? –

+0

Quizás podría publicar algo del HTML que está tratando de seleccionar ... –

+0

Gracias Justin, lo tengo, el espacio me estaba tirando también. –

Cuestiones relacionadas