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 で class form-groupadd classを使用してフォーカスを失った場合 ( ) を希望しますaddが、1 つだけです。

たとえば。クラス要素で入力id=inputErrorがフォーカスを失った場合は、クラス<div class="form-group has-error">を追加しaddます。 <div class="form-group has-error add">

form-groupそして、class add class "add"を持つ1つの要素だけでそれをしたいと思います。

私はコードを使用します:

$(".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要素が常に要素の直接の親である場合、 .parent()form-controlを使用することもできます

$(".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 に答える