首页 > 解决方案 > 表中的 JQuery 选择器

问题描述

我有一个循环遍历表中的所有行。一旦我在表内,我想获得嵌套值。例如,胜负。那将具有 html 属性[data-stat=wins]。这是我的代码,

const result = await request.get("https://www.basketball-reference.com/boxscores/");
const $ = cheerio.load(result);

var teams = [];
var wins = [];
var losses = [];

$('#confs_standings_E > tbody > tr').each((index, element) => {
    var wins = $(element > $('[data-stat=wins]'));
    console.log(wins)
    console.log($(element).text())

})

Console.log(wins) 返回一个空字符串。但是它后面的行返回所有行。这似乎很简单,我以前从未使用过 JQuery,所以不知道该怎么做。

标签: javascriptjquerynode.jscheerio

解决方案


您将需要使用push()wins空数组中添加数据,如下所示。

您还需要检查传入的内容element-console.log(element)并查看是否data-stat=wins返回了数据。

一旦它返回一些东西。然后你下面的代码将数据推送到你的wins = []数组中

const result = await request.get("https://www.basketball-reference.com/boxscores/");
const $ = cheerio.load(result);

var teams = [];
var wins = [];
var losses = [];

$('#confs_standings_E > tbody > tr').each((index, element) => {
    var wins.push($(element > $('[data-stat=wins]')))
    console.log($(element).text())
    console.log(wins)
})

推荐阅读