Ich habe ein Formular, und einige der Felder sind in 3 Gruppen von reduzierbaren divs gesetzt, ich möchte nach der Validierung, dass wenn irgendein Feld Fehler hat, das Elternteil eine Klasse bekommt, um es zu entfalten.jquery Klasse zum nächsten Elternteil hinzufügen
<div class="panel-group" id="fields_panel">
<div class="panel panel-primary">
<div id="basic_info_fields" class="panel-collapse collapse in"> <!-- add class "in" -->>
<div class="panel-body">
<div class="row clearfix">
<div class="col-md-12 m-b-0">
<div class="form-group">
<div class="form-line error"> <!-- if this div has "error" -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Ich habe zwei weitere Platten mit der gleichen Struktur, eine mit ein paar Feldern Eacho, ich versuche, wenn eine form-line
error
hat zu finden und die Klasse in
zum panel-collapse
Eltern hängen Sie ihn zu entfalten.
Im Moment habe ich den folgenden jQuery-Code:
$(function() {
var elem = $('.panel').find('.form-line');
if (elem.hasClass('error')) {
elem.closest('.panel-collapse').addClass('in');
};
});
Aber es die in
Klasse für alle panel-collapse
gilt. Was soll ich tun, um es nur auf die Top-Level-Eltern anzuwenden, die ein Child-Element mit dieser Klasse haben, und nicht für alle Eltern?
elem.parent(). parent(). parent(). parent(). übergeordnete(). parent(). find ('. panel-collapse'). addClass ('in'); (vielleicht zu viel Eltern() versuchen Sie, einige zu entfernen, wenn Sie nicht arbeiten) – Roy