在JavaScript中设置HTML<label> 'for'属性

114

如何使用JavaScript设置HTML <label>元素的for属性,而不使用jQuery或其他库?

1个回答

199

使用 htmlFor 属性。我假设它的命名有点神秘,因为 for 是 JavaScript 中的一个关键字:

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

只使用 setAttribute 不是更好吗? - Dmitri Farkov
1
@DmitriFarkov,我不这么认为。为什么会更好呢? - Drew Noakes
出于一致性的考虑,我会这么说。个人认为这样的语法糖不值一提,因为它意味着您正在对象上设置一个实际的属性,而不是在 DOM 元素对象上设置一个属性。虽然这回答了我的问题,但只是从主观上来说更好一些。 - Dmitri Farkov
21
DOM的概念在于处理对象和属性。使用htmlFor来设置DOM元素的属性是正确的方法,无需操作属性(即setAttribute所做的操作)。 - Fabrício Matté
希望我能给这个点赞加倍。我正在使用Angular 2构建一个表单,并需要动态更新标签的for属性。[for]会报错,但[htmlFor]效果很棒。谢谢! - cbros2008

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接