Ich habe dieses HTML-Fragment:jQuery zu finden Eltern Label
<div class="form-group">
<div class="col-sm-1"></div>
<label for="allquestion4" class="col-sm-6 control-label label-red">Question</label>
<div class="col-sm-1"></div>
<div class="col-sm-3">
<select size="2" class="selectpicker" id="allquestion4" title="Choose">
<option value="0">No</option>
<option value="1">Yes</option>
</select>
</div>
<div class="col-sm-1"></div>
</div>
Warum ist das Etikett nicht durch die folgende jQuery gefunden werden:
$(this).closest('label').hasClass('.label-red');
Wo $ (this) die Auswahl Picker ist.
UPDATE
Versuchen this Geige.
Ich entfernte die. aber immer noch nicht gefunden. –
Es sieht so aus, als ob die Label-Tags die Select-Tags umbrechen müssen, damit dies funktioniert https://jsfiddle.net/bigalnz/stezu0cr/11/ –
Ja, es scheint so zu sein, dass 'engest()' nur betrachtet Eltern und nicht bei Geschwistern. Leider gibt es zwar eine [allgemeine Geschwisterkombination] (https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_selectors), aber es kann nur dann ein Element auswählen, wenn es dem ersten folgt, nicht wenn es darauf folgt geht voraus. Wenn Sie die 'select's nicht verschachteln möchten, hilft Ihnen vielleicht [this] (https://stackoverflow.com/questions/2310270/jquery-find-closest-previous-sibling-with-class). – Mark