確定.closest()函數沒有正確抓取元素或AT ALL,所以這個類沒有被添加到div。這裏有什麼問題?jQuery最接近()不抓取元素
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'),它仍然不會抓住它。 我正在使用驗證jQuery插件。 當您開始鍵入它增加了這個HTML的輸入欄下方:
<label for="name" generated="true" class="error valid" style></label>
爲尋找正確的答案,這工作:
label.closest('.control-group').find('div.form-status').addClass('success');
您應該刪除您的評論下的答案。另外,可以很好地解釋'div [class =「form-status」]'是容易出錯的,因爲只要向該div添加一個新類,它就會失敗 –
@JuanMendes我刪除了我的評論,但我認爲對於多於一個類的問題,你已經清楚了;) –
This:$(label).prev('div.form-status')。addClass('success');仍然無法正常工作..它不會將該類添加到DIV中。而且Chrome調試器不會像jQuery搞亂一般時那樣拋出任何錯誤消息。 – Peanut