У меня есть следующий фрагмент на одной из моих HTML-страниц:
<div class="inputboximage">
<div class="value2">
<input name='address1' value='Somewhere' type="text" size="26" maxlength="40" />
<br />
</div>
</div>
Моя проблема в том, что мне нужно, чтобы фон inputboximage менялся, когда я щелкаю в текстовом поле address1, и возвращался к оригиналу, когда он терял фокус.
Я использовал следующее:
<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>
но вместо замены изображения, кажется, добавляется фоновое изображение в div value2, как и следовало ожидать. В этом случае я могу использовать parentNode.parentNode, но есть также шанс, что узел inputboxImage может находиться дальше или ниже родительского дерева.
Есть ли способ, которым я могу изменить этот код, чтобы он перемещался вниз по родительскому дереву, пока не нашел div с именем inputboximage и не заменил там изображение?
Кроме того, если у меня есть два разных класса div, inputboximage и inputboximageLarge, есть ли способ изменить эту функцию, чтобы она работала с обоими, заменяя фоновое изображение другим изображением для каждого?