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