一尘不染

查找与给定输入关联的html标签

javascript

假设我有一个html表单。每个输入/选择/文本区域都将有一个对应<label>for属性,该属性设置为其同伴的ID。在这种情况下,我知道每个输入将只有一个标签。

给定javascript中的input元素(例如,通过onkeyup事件),找到与其关联标签的最佳方法是什么?


阅读 224

收藏
2020-05-01

共1个答案

一尘不染

首先,扫描页面上的标签,并从实际的表单元素中分配对标签的引用:

var labels = document.getElementsByTagName('LABEL');
for (var i = 0; i < labels.length; i++) {
    if (labels[i].htmlFor != '') {
         var elem = document.getElementById(labels[i].htmlFor);
         if (elem)
            elem.label = labels[i];         
    }
}

然后,您可以简单地进行以下操作:

document.getElementById('MyFormElem').label.innerHTML = 'Look ma this works!';

无需查找数组:)

2020-05-01