Festlegen des HTML-Attributs <label> 'for' in JavaScript

84

Wie können Sie das forAttribut eines HTML- <label>Elements in JavaScript festlegen , ohne jQuery oder eine andere Bibliothek zu verwenden?

Drew Noakes
quelle

Antworten:

133

Verwenden Sie das htmlForAttribut. Ich gehe davon aus, dass es einen leicht kryptischen Namen hat, da fores sich um ein Schlüsselwort in JavaScript handelt:

var label = document.createElement('label');
label.htmlFor = 'some-input-id';
Drew Noakes
quelle
Wäre es nicht besser, nur setAttribute zu verwenden?
Dmitri Farkov
1
@DmitriFarkov, das glaube ich nicht. Warum sollte es besser sein?
Drew Noakes
Ich würde aus Gründen der Konsistenz sagen. Persönliche Missachtung von syntaktischem Zucker wie diesem, da dies impliziert, dass Sie eine tatsächliche Eigenschaft für das Objekt festlegen und nicht ein Attribut für ein DOM-Elementobjekt. Beantwortet meine Frage allerdings besser nur subjektiv.
Dmitri Farkov
16
DOM arbeitet konzeptionell mit Objekten und Eigenschaften. htmlForist der richtige Weg, indem Sie die Eigenschaft des DOM-Elements festlegen. Sie müssen sich nicht mit Attributen herumschlagen, was auch der setAttributeFall ist.
Fabrício Matté
Macht Sinn! Guter Anruf.
Dmitri Farkov