【发布时间】:2019-04-12 18:52:35
【问题描述】:
我正在与cheerio 合作,但我想获得<div class="card"> 的儿童div 的href 值。
<div class="Card">
<div class="title">
<a target="_blank" href="test">
Php </a>
</div>
<div>some content</div>
<div>some content</div>
<div>some content</div>
</div>
我正确获得了第一个孩子,但我想获得 div class=title childern a href 值。我是 node 新手,我已经搜索过了,但没有得到合适的答案。
var jobs = $("div.jobsearch-SerpJobCard",html);
这是我的脚本
const rp = require('request-promise');
const $ = require('cheerio');
const potusParse = require('./potusParser');
const url = "";
rp(url)
.then((html)=>{
const Urls = [];
var jobs = $("div.Card",html);
for (let i = 2; i < jobs.length; i++) {
Urls.push(
$("div.Card > div[class='title'] >a", html)[i].attribs.href
);
}
console.log(Urls);
})
.catch(err => console.log(err));
【问题讨论】:
-
您发布的 HTML 不正确
class="Card错过了结束引号,但这可能是复制粘贴的事情 -
是的,只是复制粘贴
-
var hrefs = []; $('div.Card .title a').each(function(index, element) { hrefs.push(element.href); });- 这应该可以满足您的需要 -
不,它无法返回 nll 数组 []
-
非常不清楚您要实现的目标,请更新 HTML 以匹配您要执行的任务。
标签: javascript arrays node.js cheerio