Ошибка Javascript — document.getElementsById не является функцией

#javascript

#javascript

Вопрос:

Поскольку я вызываю этот код в цикле. Но следующий код выдает ошибку, поскольку document.getElementsById не является функцией. Что мне делать, как я могу вызвать doc.getbyid в цикле.

 for (var z=1; z < i; z  ){
       var textbox = document.getElementsById("a" z).value;
       var textbox2 = document.getElementsById("b").value;
       var textbox3 = document.getElementsById("c").value;
       alert(textbox);
       alert(textbox2);
       alert(textbox3);
}
  

Комментарии:

1. Каковы ваши требования? Какое имя текстового поля вы ищете с помощью document.getElementsById ???

Ответ №1:

Это потому, что это getElementById (обратите внимание на отсутствие «s» в «Элементе»). Что имеет смысл, если вы подумаете об этом, потому id что значения должны быть уникальными в документе, поэтому будет только один «элемент», который соответствует, а не несколько «элементов».

Однако существуют методы, которые возвращают несколько элементов, которые используют множественное число «элементы», такие как getElementsByTagName , так что вы можете просто смешивать их.

Ответ №2:

Функция не getElementsById, а getElementById .

В элементе нет формы множественного числа

Ответ №3:

На самом деле вам нужно использовать следующим образом:

 for (var z = 1; z < i; z  ) { 
    var textbox = document.getElementById("a" z).value; 
    var textbox2 = document.getElementById("b").value; 
    var textbox3 = document.getElementById("c").value; 
    alert(textbox); 
    alert(textbox2); 
    alert(textbox3); 
} 
  

Ответ №4:

Имя функции является getElementById .

Ответ №5:

document.getElementsById() это не функция, а document.getElementById() есть. Если вы хотите получить все имена тегов, вы можете использовать document.getElementsByTagName() , и если вы хотите получить определенные элементы класса, которые вы можете использовать document.getElementsByClassName() .