.closest() 関数が要素を正しく取得していないか、まったく取得していないため、クラスが div に追加されていません。ここで何が問題なのですか?
HTML:
<div class="half control-group">
<div class="form-status"></div>
<?php
echo form_label('Username', 'username');
echo form_input(array('name' => 'username', 'maxlength' => 25, 'value' => set_value('username') ));
?>
</div>
JQuery:
success: function(label) {
$(label).text('');
$(label).closest('div[class="form-status"]').addClass('success');
//label.text('OK!').addClass('valid').closest('.control-group').addClass('success');
}
テキストを正しく空白にしていますが、最も近いフォームステータスdivクラスを変更していません...さらに最も近い( '.form-status')を試しましたが、まだ取得できません。validate jQuery プラグインを使用しています。入力を開始すると、入力バーの下に次の HTML が追加されます。
<label for="name" generated="true" class="error valid" style></label>
正しい答えを探している人にとって、これはうまくいきました:
label.closest('.control-group').find('div.form-status').addClass('success');