Установка атрибута 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.