tengo el siguiente fragmento en una de mis páginas html:Jquery cambiar fondo de div padre
<div class="inputboximage">
<div class="value2">
<input name='address1' value='Somewhere' type="text" size="26" maxlength="40" />
<br />
</div>
</div>
Mi problema es que necesito el fondo inputboximage a cambiar cuando haga clic en el campo de texto dirección1 y revertir al original cuando pierde el foco.
He utilizado el siguiente:
<script>
$(document).ready(function(){
$("input").focus(function() {
$(this.parentNode).css('background-image', 'url(images/curvedinputblue.gif)');
});
$("input").blur(function() {
$(this.parentNode).css('background-image', 'url(images/curvedinput.gif)');
});
});
</script>
pero en lugar de reemplazar la imagen, que parece ser la adición de una imagen de fondo a la div valor2 como era de esperar. Puedo usar parentNode.parentNode en este caso, pero también existe la posibilidad de que el nodo inputboxImage pueda estar más arriba o más abajo en el árbol padre.
¿Hay alguna manera de que pueda cambiar este código para que navegue por el árbol padre hasta que encuentre un div llamado inputboximage y reemplace la imagen allí?
Además, si tengo dos clases div diferentes, inputboximage y inputboximageGarge, ¿hay alguna manera de modificar esta función para que funcione con ambas, reemplazando la imagen de fondo con una imagen diferente para cada una?
Gracias Phil, esto funciona perfectamente. Todo lo que tengo que hacer ahora es descubrir cómo hacer que funcione para otros elementos que necesitan la misma funcionalidad pero diferentes imágenes de fondo. – Jimoc