Я получаю 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();

       });
Другие вопросы по тегам