Powiedzmy, że mam formularz HTML. Każde input/select/textarea będzie mieć odpowiedni <label>
z atrybutem for ustawionym na id jego towarzysza. W tym przypadku wiem, że każde wejście będzie miało tylko jedną etykietę.
Biorąc pod uwagę element wejściowy w javascript - na przykład poprzez zdarzenie onkeyup
- jaki jest najlepszy sposób na znalezienie powiązanej etykiety?
1 odpowiedź
Najpierw zeskanuj stronę w poszukiwaniu etykiet i przypisz odwołanie do etykiety z rzeczywistego elementu formularza:
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];
}
}
Następnie:
document.getElementById('MyFormElem').label.innerHTML = 'To działa!';
Nie ma potrzeby wyszukiwania tablicy :)