Я получаю 0 значений для моего массива, когда пытаюсь добавить элементы DOM с веб-страницы, как добавить значения в списки в функции.each?
На консоли он представляет просто пустой массив и 0 для всех элементов на странице Business Insider с конкретными селекторами. Как я могу добавить каждый номер (который является просмотром на их сайте) в виде списка или строки чисел, а затем.length в переменной и передать его в мой HTML-интерфейс?
var request = require('request');
var cheerio = require('cheerio');
var bilist = new Array();
//var x = document.getElementById('bi-stats').innerHTML;
var url = 'http://www.businessinsider.com/moneygame';
request(url, function(err,resp,body)
{
if (err)
throw err;
$ = cheerio.load(body); //create the dom object string
$('span.hot').each(function() {
$(this).text().append(bilist);
console.log(bilist);
console.log(bilist.length);
});
});
function start() {
window.addEventListener('load', bi_list(), false);
}
1 ответ
Таким образом, jQuery имеет другой синтаксис для итератора for.
Ниже показан правильный код, который добавляет текстовый элемент, который содержит количество просмотров сайта Business Insider.
$('span.hot').each(function(i, elem) {
bilist[i] = $(this).text();
});