aqui tengo el codigo..
<div> <input type="hidden" value="hello" /> </div> <div> <input type="hidden" value="world" /> </div>¿Es posible seleccionar el div con el valor "hola" dentro y cambiar el color del div seleccionado a rojo...?
$("div input[value='hello']").css("background","red"); //i have this in mind //but i think its wrong:Dalguna ayuda por favor..
Desea seleccionar la entrada, luego tomar su div principal:
$("input[value='hello']").parent("div").css("background", "red");Solo como una nota futura para aquellos que se encuentran con esta pregunta, estas respuestas son correctas cuando se busca el value específico como un atributo, es decir, el codificado en HTML, completamente correcto según la pregunta formulada. Sin embargo, si el usuario cambia el valor del campo en cualquier momento, el atributo de valor no se actualiza, solo la propiedad de valor del elemento. Esto conducirá a un comportamiento inesperado en la forma de seleccionar elementos que en realidad tienen diferentes valores actuales... en su lugar, o al menos hasta que encuentre una mejor manera, he estado usando lo siguiente:
jQuery.extend( jQuery.expr[':'], { /// check that a field's value property has a particular value 'field-value': function (el, indx, args) { var a, v = $(el).val(); if ( (a = args[3]) ) { switch ( a.charAt(0) ) { /// begins with case '^': return v.substring(0,a.length-1) == a.substring(1,a.length); break; /// ends with case '$': return v.substr(v.length-a.length-1,v.length) == a.substring(1,a.length); break; /// contains case '*': return v.indexOf(a.substring(1,a.length)) != -1; break; /// equals case '=': return v == a.substring(1,a.length); break; /// not equals case '!': return v != a.substring(1,a.length); break; /// equals default: return v == a; break; } } else { return !!v; } } } );Lo anterior crea un nuevo pseudoselector de jQuery, que se puede usar así:
$('input:field-value(^test)');Que seleccionará todas las entradas que comiencen con el valor "prueba", o:
$('input:field-value(*test)');Que seleccionará todas las entradas que contengan "prueba" en cualquier lugar de su valor.
¡También son compatibles ! no, $ termina en o = es igual a...
Esto lo hace:
$("div > input[value=hello]").parent().css("color", "red");O si por "color" realmente quería decir "color de fondo":
$("div > input[value=hello]").parent().css("background-color", "red");