Я запускаю узел с cheerio. У меня есть эта функция, которая должна отображать значение атрибута элемента, содержащегося в массиве.«Undefined Is not A Function» при использовании массивов в NodeJS
for (var row = 0; row < array.length; row++) {
console.log("Row Length: " + array[row].length);
for (var col = 0; col < array[row].length; col++) {
console.log("Inside:");
console.log(array[row][col].getAttribute('val'));
}
}
Мой массив содержит элементы списка заселенных с помощью push
array.push($('[title!="CATA"][collection="items"]'));
я получаю желаемый результат для 'длины строк', и он показывает «Inside ', но затем отображает' TypeError: undefined не является функцией ». Я также пытался использовать .attr ('val'), но с той же ошибкой.
Выполнение console.log (array [row] [col]) дает мне следующее.
{ type: 'tag',
name: 'li',
attribs:
{ id: 'Amber',
collection: 'items',
title: 'disk',
val: '10|9|2|10|7|13|2|10|12|2|2|5|3|3|5|2|8|7|5|10|4|6|6|3|4|6|2|8|11|2|10|7|9|9|10|8' },
children:
[ { data: 'disk : 10|9|2|10|7|13|2|10|12|2|2|5|3|3|5|2|8|7|5|10|4|6|6|3|4|6|2|8|11|2|10|7|9|9|10|8',
type: 'text',
next: null,
prev: null,
parent: [Circular] } ],
next:
{ type: 'tag',
name: 'li',
attribs:
{ id: 'Amber',
collection: 'items',
title: 'usb',
val: '3|3|2|4|2|4|3|3|3|13|5|13|2|13|2|5|5|3|4|3|6|3|2|2|5|13|2|3|2|13|2|13|2|2|13|4' },
children: [ [Object] ],
next:
.
.
.
Все, что я пытаюсь сделать, это получить доступ к 'Вэл'.
ли вы напечатать массив [0] [0] элемент? Вы являетесь экспериментальным элементом HTML, но я сомневался в том, что массив не содержит HTML-элемент в индексе [0] [0]. – venkat7668