当我尝试从网页添加 DOM 元素时,我的数组得到 0 值,如何将值添加到 .each 函数中的列表?

Posted

技术标签:

【中文标题】当我尝试从网页添加 DOM 元素时,我的数组得到 0 值,如何将值添加到 .each 函数中的列表?【英文标题】:I am getting 0 values for my array when I try to add DOM elements from a webpage, how to add values to lists in .each function? 【发布时间】:2016-08-31 13:33:46 【问题描述】:

在控制台上,它只为带有特定选择器的 Business Insider 页面上的所有元素显示空数组和 0。如何将每个数字(即他们网站上的视图)添加为数字列表或字符串,然后在变量上添加 .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);

【问题讨论】:

您的var bilist 是一个空数组。为什么要在里面放元素? 嗨 Felippe 基本上我对 jQuery 的 for 迭代器版本感到困惑,它是 .each(function(i, elem) ; 我解决了,谢谢。 【参考方案1】:

所以 jQuery 对 'for' 迭代器有不同的语法。

正确的代码如下所示,它附加了包含站点 Business Insider 的视图数的文本元素。

$('span.hot').each(function(i, elem) 
            bilist[i] = $(this).text();

       );

【讨论】:

以上是关于当我尝试从网页添加 DOM 元素时,我的数组得到 0 值,如何将值添加到 .each 函数中的列表?的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试从 ruby​​ on rails 上的表单获取输入时,我得到了简单名称的哈希数组瞬间。如何解决?

当我在视图中添加两张幻灯片时,React-slick 在 DOM 中显示 5 个幻灯片元素

无法使用指针添加数组元素

如何使用来自localstorage的jquery将项目附加到DOM?

数组变量周围的堆栈损坏

从 API 数据访问数组元素