Установка атрибута HTML <label> 'for' в JavaScript

86

Как установить forатрибут <label>элемента HTML в JavaScript без использования jQuery или любой другой библиотеки?

Дрю Ноукс
источник

Ответы:

138

Используйте htmlForатрибут. Я предполагаю, что у него немного загадочное имя, потому что forэто ключевое слово в JavaScript:

var label = document.createElement('label');
label.htmlFor = 'some-input-id';
Дрю Ноукс
источник
Не лучше ли было бы просто использовать setAttribute?
Дмитрий Фарков 01
1
@DmitriFarkov, я так не думаю. Почему было бы лучше?
Дрю Ноукс,
Я бы сказал для последовательности. Личное пренебрежение подобным синтаксическим сахаром, поскольку он подразумевает, что вы устанавливаете фактическое свойство объекта, а не атрибут объекта элемента DOM. Но отвечает на мой вопрос, лучше только субъективно.
Дмитрий Фарков 01
16
DOM концептуально работает с объектами и свойствами. htmlForявляется правильным путем, задав свойство элемента DOM. Не нужно возиться с атрибутами, а это то, что setAttributeнужно.
Fabrício Matté 01
Хотел бы я удвоить голосование. Я использую Angular 2 для создания формы, и мне нужно динамически обновлять метку для атрибута. [for] выдавал ошибку, но [htmlFor] сработал. Спасибо!
cbros2008