Я пытаюсь настроить веб-сайт, используя webpack и Babel.Я пытаюсь назначить событие «onclick» всем элементам таблицы, используя jQuery.Я выбираю все элементы строки таблицы «clickable-row», используя getElementsByClassName
, который возвращает HTMLCollection, но при вызове .length
он возвращает 0. Вывод коллекции на консоль показывает, что в ней есть элементы.Это заставляет меня думать, что это проблема Вавилона.
Я попытался преобразовать его в массив - массив пуст.Пробовал document.querySelectorAll();
, который возвращает пустой NodeList и оператор ...
, пытался использовать .forEach()
и пытался использовать HTMLCollection.prototype.forEach = Array.prototype.forEach;
, ни один из которых ни к чему не приводит.
Вот код, который я использую:
$('document').ready(getTableRows);
function getTableRows() {
let tableRows = document.getElementsByClassName("clickable-row");
console.log(tableRows);
console.log("Length of this collection = " + tableRows.length);
let array = Array.from(tableRows);
console.log("Converted to array");
console.log(array);
}
Вот результат, возвращаемый консолью в google chrome:
HTMLCollection []
0: tr.clickable-row
1: tr.clickable-row
2: tr.clickable-row
3: tr.clickable-row
4: tr.clickable-row
5: tr.clickable-row
6: tr.clickable-row
7: tr.clickable-row
8: tr.clickable-row
9: tr.clickable-row
length: 10
__proto__: HTMLCollection
Length of this collection = 0
Converted to array
[]
length: 0
__proto__: Array(0)
Я пытался воссоздать то же самое в jsfiddle, но это не вызвало того же поведения, которое заставляет меня думать даже большеэто вавилонская пачка.http://jsfiddle.net/h2emxdf1/2/
Извините, если я что-то перепутал, но я новичок, если речь идет обо всей этой паутине.