Я пытаюсь получить список в JavaScript (без использования jQuery )всех элементов на странице с определенным именем класса. Поэтому я использую функцию getElementsByClassName ()следующим образом:
var expand_buttons = document.getElementsByClassName('expand');
console.log(expand_buttons, expand_buttons.length, expand_buttons[0]);
Обратите внимание, что на моей странице есть три элемента привязки с классом «расширить». Этот console.log ()выводит
[] 0 undefined
Далее, для прикола, я поместил кнопки расширения _в свой собственный массив следующим образом:
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.
Спасибо,
ПарагонРГ