Mam następujący fragment jednego z moich stron HTML:Jquery zmieniając tło macierzystego div
<div class="inputboximage">
<div class="value2">
<input name='address1' value='Somewhere' type="text" size="26" maxlength="40" />
<br />
</div>
</div>
Moim problemem jest to, że muszę inputboximage tło zmienić po kliknięciu w polu tekstowym address1 i powrócić do oryginału, gdy traci ostrość.
Użyłem następujących czynności:
<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>
ale zamiast zastępując obraz, wydaje się być dodanie obrazu tła na div VALUE2 jak można by oczekiwać. W tym przypadku mogę użyć parentNode.parentNode, ale istnieje również szansa, że węzeł inputboxImage może być dalej w górę lub w dół drzewa nadrzędnego.
Czy istnieje sposób, w jaki mogę zmienić ten kod, aby nawigował w dół drzewa nadrzędnego, dopóki nie znajdzie elementu div o nazwie inputboximage i zastąpi tam obraz?
Ponadto, jeśli mam dwie różne klasy div, inputboximage i inputboximageLarge, czy istnieje sposób zmodyfikowania tej funkcji, aby działał z obydwoma, zastępując obraz tła innym obrazem dla każdego z nich?
Thanks Phil, to działa doskonale. Wszystko, co muszę teraz zrobić, to dowiedzieć się, jak sprawić, aby działał on na inne elementy, które wymagają tej samej funkcjonalności, ale różnych obrazów tła. – Jimoc