当我尝试从网页添加 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 个幻灯片元素