2

再会。

<div class="form-group has-success">
  <label class="control-label" for="inputSuccess">Input with success</label>
  <input type="text" class="form-control" id="inputSuccess">
</div>
<div class="form-group has-warning">
  <label class="control-label" for="inputWarning">Input with warning</label>
  <input type="text" class="form-control" id="inputWarning">
</div>
<div class="form-group has-error">
  <label class="control-label" for="inputError">Input with error</label>
  <input type="text" class="form-control" id="inputError">
</div>

我希望当输入focusout在类元素 div 中失去焦点 () 时form-group添加类add,但只有一个。

例如。如果输入id=inputError在类元素中失去焦点<div class="form-group has-error">添加类add<div class="form-group has-error add">

而且我只希望在一个带有类form-group添加类“添加”的元素中。

我使用代码:

$(".form-control").focusout(function(){

})

但我不知道如何让父 div 类form-group...

这个怎么做?

4

5 回答 5

6

您可以使用.closest()找出与给定选择器匹配的最近的祖先元素

$(".form-control").focusout(function(){
    var $div = $(this).closest('.form-group').addClass('add')
})

在您的情况下,如果form-group元素始终是元素的直接父级,form-control那么您甚至可以使用.parent()

$(".form-control").focusout(function(){
    var $div = $(this).parent().addClass('add')
})
于 2013-09-11T03:07:51.817 回答
2

您也可以使用parent()方法

$(".form-control").focusout(function(){
    $(this).parent().addClass('add');
})
于 2013-09-11T03:11:05.880 回答
1
$(".form-control").focusout(function(){
   $(this).parent('.form-group').addClass('add');
});
于 2013-09-11T03:11:42.213 回答
1

你可以试试这个

$(".form-control").on('focusout', function(){
    $(this).closest('.form-group').addClass('add');
});

或者这个

$(".form-control").on('focusout', function(){
    $(this).parent().addClass('add');
});
于 2013-09-11T03:12:12.490 回答
1
$(".form-control").focusout(function(){
    $(this).parent().addClass('add');
})
于 2013-09-11T03:12:13.260 回答