我正在创建一个函数,该函数返回跨分页内容的给定选择器的所有元素的 jQuery 对象。
const getPagedContent = async (base, selector) => {
let elements = [];
let lastPage = 1;
let page = 0;
while (lastPage > page) {
page++;
let response = await got(`${base}/page/${page}`);
let html = new jsdom.JSDOM(response.body);
elements.push($(html).find(selector));
lastPage = getLastPage(html);
}
return elements;
}
但是,这确实会返回一个包含所有元素的 jQuery 对象,但(显然)是一个包含多个 jQuery 对象的数组。如何添加每个页面的结果,以便返回一个包含所有元素的 jQuery 对象?
编辑: 尝试使用.add返回长度为 0 的 jQuery 对象。我不确定如何为多个 dom 采用添加。
const getPagedContent = async (base, selector) => {
let elements = $();
let lastPage = 1;
let page = 0;
while (lastPage > page) {
page++;
let response = await got(`${base}/page/${page}`);
let html = new jsdom.JSDOM(response.body);
elements.add($(html).find(selector));
lastPage = getLastPage(html);
}
console.dir(elements);
console.log('Items length:', elements.length);
return elements;
}
jQuery {}
Items length: 0
慕慕森
开满天机
随时随地看视频慕课网APP
相关分类