Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Guten Morgen,

wie kann ich einem div tag eine neue "class" geben (nzw eine zusätzliche), wenn die das div keine ID besitzt?
Folgendes war mein Versuch:

document.getElementsByClassName("textinput").classList.add('form-group');

Viele Grüße

edit:
es dreht sich um eine Frage mit Textfeldern. Ich möchte um jedes Textfeld ein div haben mit einer bestimmten Klasse. Da es schon ein div mit der Klasse "textinput" gibt, würde ich einfach dieses verwenden bzw. um eine neue Klasse ergänzen, damit es so aussieht:

<div class="form-group"><input type="text" id="input2">Input 2</div>

Entsprechend müsste auch die ID angepasst werden.

ago in SoSci Survey (dt.) by s109993 (2k points)
edited ago by s109993

1 Answer

+1 vote
 
Best answer

Also, wenn Sie ohnehin alle DIVs mit der Klasse "textinput" ansprechen möchten, dann könnten Sie auch einfach diese Klasse direkt verwenden...

Wenn Sie eine neue Klasse anfügen möchten, dann beachten Sie bitte, dass Sie hier ein Array bekommen:

document.getElementsByClassName("textinput")

Das bedeutet, Sie müssten die Elemente auch einzelne manipulieren:

var elements = document.getElementsByClassName("textinput");
for (var i=0; i<elements; i++) {
    elements[i].classList.add('form-group');
}

Mit einem for in ginge es auch eleganter, wird aber weniger nachvollziehbar.

ago by SoSci Survey (91.9k points)
selected ago by s109993
Komischerweise wird mir das neue Class Element nicht angezeigt, mein Code funktioniert jetzt aber wunderbar.
Erwartet hätte ich class="textinput form-group"
Es wird aber nur wie bisher Class="textinput" angezeigt. Da mein Coed aber darauf anspricht muss es sich irgendwo angepasst haben.
Am Quellcode der Seite ändert sich nichts. Ob der "Inspektor" Ihres Browsers die Änderung anzeigt, dürfte vom Browser abhängig sein. Bei Chrome und Firefox würde ich erwarten, dass die Anzeige im Inspektor angepasst wird.
...