HTML5 .getElementById / .innerHTML проблема - PullRequest
0 голосов
/ 01 марта 2012

Я хочу, чтобы JavaScript выводил строку в каждом соответствующем местоположении, используя InnerHTML, но он обрабатывает только первое. Он отлично работает при первом столкновении, но игнорирует остальные.

Я могу решить вопрос следующим образом:

document.getElementById('num1').innerHTML=num;
document.getElementById('num2').innerHTML=num;
 // etc.

Но это безумно избыточно.
.GetElementById предназначен для обработки только первого соответствующего тега?

1 Ответ

0 голосов
/ 01 марта 2012

.getElementById предназначен для обработки только первого соответствующего тега?

Да, он должен возвращать (самое большее) только один элемент с указанным идентификатором (точный идентификатор, а не какой-либо префикс или совпадение регулярного выражения).

Если вы хотите сопоставить много элементов, вам следует рассмотреть возможность предоставления им общего класса.

Или, может быть, у них есть общий предок и путь, поэтому вы можете выбрать их с чем-то вроде

document.querySelectorAll('#commonParentId span')

(все пролеты внутри элемента с идентификатором commonParentId, поддерживаемые IE8 и выше).

...