Impostazione dell'attributo HTML <label> "for" in JavaScript


86

Come si imposta l' forattributo di un <label>elemento HTML in JavaScript, senza utilizzare jQuery o qualsiasi altra libreria?

Risposte:


138

Usa l' htmlForattributo. Presumo che abbia un nome leggermente criptico perché forè una parola chiave in JavaScript:

var label = document.createElement('label');
label.htmlFor = 'some-input-id';

Non sarebbe meglio usare solo setAttribute?
Dmitri Farkov

1
@DmitriFarkov, non credo. Perché sarebbe meglio?
Drew Noakes

Direi per motivi di coerenza. Disinteresse personale per lo zucchero sintattico come questo poiché implica che stai impostando una proprietà effettiva sull'oggetto piuttosto che un attributo su un oggetto elemento DOM. Risponde però alla mia domanda, meglio solo soggettivamente.
Dmitri Farkov

16
DOM funziona concettualmente con oggetti e proprietà. htmlForè il modo corretto impostando la proprietà dell'elemento DOM. Non c'è bisogno di scherzare con gli attributi che è ciò che setAttributefa.
Fabrício Matté

Vorrei poter raddoppiare il voto. Sto usando Angular 2 per creare un modulo e avevo bisogno di aggiornare dinamicamente l'attributo di un'etichetta per. [for] stava generando un errore ma [htmlFor] ha funzionato a meraviglia. Grazie!
cbros2008
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.