Я только открываю DOM как новичка, и теперь я немного растерялся.
Я читал в одной статье, что nodeList - это просто элемент, похожий на массив - он отображается в консоли как массив, но на нем невозможно использовать методы массива (например, forEach или map).
Но когда я попробовал это (в таблице, сделанной с помощью JS, функция table ()):
let node = document.querySelectorAll('td')
node.forEach(function(node){
node.style.border = 'thin solid #000';
node.textContent = 'cell';
console.log(node);
})
Он работал как я хотел - как массив.
Кроме этого, этот код создал только пустой массив, без nodeList внутри:
let node = document.querySelectorAll('td')
let nodeToArray = Array.apply(node);
console.log(nodeToArray);
Я пытался спред оператора:
let nodeToArray = [document.querySelectorAll('td')]
И он превратил nodeList в массив, но только с одним числом - может быть, это вызвано созданием тд с циклом?
И, конечно, метод forEach не работал с "Невозможно установить свойство 'border' для undefined."
let nodeToArray = [document.querySelectorAll('td')]
nodeToArray.forEach(function(nodeToArray){
nodeToArray.style.border = 'thin solid #000';
nodeToArray.textContent = 'cell';
console.log(nodeToArray);
Итак, как я могу изменить nodeList на массив? Или можно больше работать с nodeList, так как это был массив? (Я хочу создать шахматную доску, и поэтому мне нужно использовать этот массив для условного оператора if-else для создания нечетных / четных ячеек.)