假设我有一个html表单。每个输入/选择/文本区域都将有一个对应<label>的for属性,该属性设置为其同伴的ID。在这种情况下,我知道每个输入将只有一个标签。
<label>
for
给定javascript中的input元素(例如,通过onkeyup事件),找到与其关联标签的最佳方法是什么?
首先,扫描页面上的标签,并从实际的表单元素中分配对标签的引用:
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!';
无需查找数组:)