[jQuery] Bestehende Klasse 3 Ebenen höher erneut setzen

Dustin84

Erfahrenes Mitglied
Hallo,

bei dem Input-Feld wird die Klasse "error" dynamisch gesetzt, wenn es nicht ausgefüllt wurde. Da ich jqTransform benutze, wird um das Input noch ein DIV Gerüst gebaut.

Das ganze sieht dann so aus:

Code:
<div class="jqTransformInputWrapper" style="width: 415px;">
   <div class="jqTransformInputInner">
  	<div>
      <input type="text" name="Nachname" class="jqtranformdone jqTransformInput error" style="width: 400px;">
    </div>
   </div>
</div>

Wie kann ich jetzt dem ersten DIV mit der Klasse "jqTransformInputWrapper" noch die Klasse "error" hinzufügen?

Gruß
D.
 
Ausgehend vom Input kannst du per
Code:
parent().parent().parent()
drei Ebenen nach oben springen.

Oder du rufst das Element direkt per Klasse auf:
Code:
jQuery('.jqTransformInputWrapper')...
 
das direkte ansprechen würde nicht gehen, da jedes Inputfeld die Klasse jqTransformInputWrapper hat und somit alle Felder die error Klasse erhalten würden.

Mit
parent().parent().parent()
werde ich es mal probieren.
 
das direkte ansprechen würde nicht gehen, da jedes Inputfeld die Klasse jqTransformInputWrapper hat und somit alle Felder die error Klasse erhalten würden...
... dann könnte man beispielsweise auch die Elemente "div.jqTransformInputWrapper" selektieren, dann werden die input-Felder nicht berücksichtigt.
 
ne das geht nicht, da JEDES Input dieses HTML Gerüst hat. Es wird benutzt, um schönere (grafische) Inputfelder zu erstellen.
 
ne das geht nicht, da JEDES Input dieses HTML Gerüst hat. Es wird benutzt, um schönere (grafische) Inputfelder zu erstellen.
Stimmt, du musst noch filtern:
Javascript:
$('div.jqTransformInputWrapper').has('input.error').addClass('error');
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück