Cheerio-查找并打印与查询匹配的所有属性

时间:2019-02-21 21:23:17

标签: javascript html node.js cheerio

如果我有以下html代码:

<a class="my-lovely-name" title="hello" href="fb.com">Random stuff</a>
<div class="my-lovel-name" title="ew" href="yb.com">blabla</div>

如何使用cheerio提取titlehref的所有值?我尝试了以下操作,但只会提取hellofb.com并跳过其余元素:

console.log($('.my-lovely-name').attr('title')) => should print the titles of all elements with this class
console.log($('.my-lovely-name').attr('href')) => => should print the href-s of all elements with this class

2 个答案:

答案 0 :(得分:1)

您应该能够将它们映射到数组中。

Stream

参考https://github.com/cheeriojs/cheerio#map-functionindex-element-

答案 1 :(得分:0)

$('..my-lovely-name').map((index, element) => {
    const attributes = element.attribs;
    Object.keys(attributes).map(key => {
        console.log(key, ': ', attributes[key]);
    })
});

通过此操作,您将获得html元素中所有属性的列表,然后可以过滤您感兴趣的属性。