Я пытаюсь получить список в JavaScript (не используя jQuery) всех элементов на странице с определенным именем класса. Поэтому я использую функцию getElementsByClassName() следующим образом:
var expand_buttons = document.getElementsByClassName('expand');
console.log(expand_buttons, expand_buttons.length, expand_buttons[0]);
Обратите внимание, что на моей странице есть три элемента привязки с классом «расширить». Этот console.log() выводит
[] 0 undefined
Далее, для прикола, я закинул expand_buttons в собственный массив следующим образом:
var newArray = new Array(expand_buttons);
console.log(newArray, newArray.length);
Это внезапно выводит
[NodeList[3]] 1
и я могу щелкнуть список узлов и увидеть атрибуты трех элементов привязки «расширить» на странице. Также стоит отметить, что мне удалось заставить мой код работать на тестовой странице w3schools< /а>.
Также можно отметить, что мое использование document.getElementsByName фактически выводит (на консоль) массив элементов, но когда я запрашиваю его длину, он сообщает мне 0. Точно так же, если я пытаюсь получить доступ к элементу массива, используя array_name[0]
как обычно, он выводит «undefined», несмотря на то, что внутри массива явно есть элемент, когда я вывожу объект на консоль.
Кто-нибудь знает, почему это может быть? Я просто хочу перебирать элементы DOM, и в данный момент я избегаю jQuery, потому что пытаюсь практиковать кодирование с помощью ванильного JavaScript.
Спасибо,
ПарагонРГ