Configuración del atributo HTML <label> 'for' en JavaScript

85

¿Cómo se configura el foratributo de un <label>elemento HTML en JavaScript, sin usar jQuery o cualquier otra biblioteca?

Dibujó Noakes
fuente

Respuestas:

134

Utilice el htmlForatributo. Supongo que tiene un nombre un poco críptico porque fores una palabra clave en JavaScript:

var label = document.createElement('label');
label.htmlFor = 'some-input-id';
Dibujó Noakes
fuente
¿No sería mejor usar setAttribute?
Dmitri Farkov
1
@DmitriFarkov, no lo creo. ¿Por qué sería mejor?
Drew Noakes
Yo diría por coherencia. Desprecio personal por el azúcar sintáctico como este, ya que implica que está configurando una propiedad real en el objeto en lugar de un atributo en un objeto de elemento DOM. Sin embargo, responde mi pregunta, mejor solo subjetivamente.
Dmitri Farkov
16
DOM trabaja conceptualmente con objetos y propiedades. htmlFores la forma correcta estableciendo la propiedad del elemento DOM. No hay necesidad de meterse con atributos que es lo que setAttributehace.
Fabrício Matté
¡Tiene sentido! Buena llamada.
Dmitri Farkov