2015-06-18 3 views
-1

Я изменяю плагин wordpress, и у меня есть небольшая проблема. Когда я ищу в массиве id, консоль возвращает мне ту форму [0] .getElementById не является функцией.getElementById с массивом Javascript

Это мой код.

var form = document.getElementsByClassName("modal-body"); 
var i=0; 
while (i<(form.length)) { 
    var tag = form[i].getElementById("em-booking"); 
    if(tag) { 
     var carles = form[i].getElementById("formulari-cemcat"); 
     carles.style.display = "none"; 
    } 
    i++; 
} 

Возможно, кто-то может мне помочь и посмотреть мою проблему.

Спасибо так много,

Карлес

+0

В какой строке это ошибка? – Imad

+0

Можете ли вы разместить свой HTML-код? –

+0

Тот, кто проиграл, действительно должен объяснить, почему. Что случилось с вопросом о новичках? – jazZRo

ответ

5

getElementById is only defined on document. Нет необходимости иметь возможность называть его элементом, поскольку идентификаторы должны быть уникальными во всем документе.

Наличие нескольких элементов с одним и тем же идентификатором внутри документа недействительно.

Если у вас действительно есть несколько элементов с одинаковым идентификатором, вы должны исправить это и использовать классы вместо этого. Тогда вы можете сделать:

var tag = form[i].querySelector(".em-booking"); 

FYI, form является NodeList, а не массив.

Смежные вопросы