2008-11-19 4 views
1

У меня есть форма с DIV, 3 INPUTS, каждый INPUT находится в элементе LABEL. Я хотел бы изменить фоновое изображение элемента DIV при фокусировке на каждом INPUT.Элемент предка элемента формы ввода формы: focus (jQuery)

Я не могу вернуться к DOM, чтобы исправить это с помощью CSS, так что может кто-то предложить несколько строк jQuery, пожалуйста?

Благодаря

ответ

1
$('input').focus(function(){ 
    $(this).parent().parent().addClass('highlight'); 
}).blur(function(){ 
    $(this).parent().parent().removeClass('highlight'); 
}); 
3
$('div input').focus(function(){ 
    $(this).parents('div:eq(0)').addClass('specialCSSclass'); 
}).blur(function(){ 
    $(this).parents('div:eq(0)').removeClass('specialCSSclass'); 
}); 

Вы должны были бы создать класс в вашем CSS, а затем заменить "specialCSSclass" с ним.

0

jQuery ближайший также опция.

closest(selector) 
    .closest(selector) 
    .closest(selector, [ context ]) 
closest(selectors, [ context ]) 
    .closest(selectors, [ context ]) 

Per описание .. Получить первый элемент предка, который соответствует селектор, начиная с текущего элемента и прогрессирует вверх по дереву DOM.

http://api.jquery.com/closest/

Смежные вопросы