Ustawianie atrybutu HTML <label> „for” w JavaScript

85

Jak ustawić foratrybut <label>elementu HTML w JavaScript, bez używania jQuery lub jakiejkolwiek innej biblioteki?

Drew Noakes
źródło

Odpowiedzi:

134

Użyj htmlForatrybutu. Zakładam, że ma nieco tajemniczą nazwę, ponieważ forjest to słowo kluczowe w JavaScript:

var label = document.createElement('label');
label.htmlFor = 'some-input-id';
Drew Noakes
źródło
Czy nie byłoby lepiej po prostu użyć setAttribute?
Dmitri Farkov
1
@DmitriFarkov, nie sądzę. Dlaczego miałoby być lepiej?
Drew Noakes
Powiedziałbym dla zachowania spójności. Osobiste lekceważenie cukru składniowego, takiego jak ten, ponieważ sugeruje, że ustawiasz rzeczywistą właściwość obiektu, a nie atrybut obiektu elementu DOM. Odpowiada jednak na moje pytanie, lepiej tylko subiektywnie.
Dmitri Farkov
16
DOM koncepcyjnie działa z obiektami i właściwościami. htmlForto właściwy sposób poprzez ustawienie właściwości elementu DOM. Nie ma potrzeby majstrowania przy atrybutach, co tak właśnie setAttributejest.
Fabrício Matté
Ma sens! Dobra decyzja.
Dmitri Farkov