样式输入的样式祖先元素:focus(jQuery)

时间:2008-11-19 12:17:32

标签: jquery css focus background selector

我有一个带有DIV,3个INPUTS的表单,每个INPUT都位于LABEL元素中。我想在聚焦每个INPUT时改变DIV元素的背景图像。

我无法通过CSS移回DOM修复此问题,所以有人可以建议几行jQuery吗?

由于

3 个答案:

答案 0 :(得分:3)

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

您需要在CSS中创建一个类,然后用它替换“specialCSSclass”。

答案 1 :(得分:1)

$('input').focus(function(){
    $(this).parent().parent().addClass('highlight');
}).blur(function(){
     $(this).parent().parent().removeClass('highlight');
});

答案 2 :(得分:0)

jQuery最近也是一个选项。

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

根据描述..获取与选择器匹配的第一个祖先元素,从当前元素开始并逐步向上遍历DOM树。

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