使用cheerio,无法使用.attr获取属性

时间:2018-11-01 15:37:19

标签: node.js cheerio

为什么我必须使用link.attribs.href而不是标准的.attr('href')方法?

...
res.on('end', () => {
     const $ = cheerio.load(content);
     const link = $('.more-link').get(0);
     // const url = link.attr('href');   <--- link.attr is not a function
     const url = link.attribs.href;       <--- works
     console.log(url);
});

1 个答案:

答案 0 :(得分:1)

根据cheerio documentationget(i)从您正在使用的cheerio实例中检索“ DOM”元素。 cheerio实例对象具有.attr()方法,但是DOM元素只是存储对象数据。

您可以使用.first()代替.get(0)