乐闻世界logo
搜索文章和话题

How to extract uppercased attributes with Cheerio

1 个月前提问
1 个月前修改
浏览次数10

1个答案

1

在使用Cheerio来提取HTML元素的大写属性时,需要注意的是Cheerio基于jQuery,通常对属性名大小写不敏感。也就是说,Cheerio将属性名统一转化为小写。因此,直接获取大写属性可能不会按预期工作。不过,我们可以通过Cheerio的attribs属性来访问元素的原始属性,包括其大小写格式。

下面是一个如何使用Cheerio提取具有大写属性的元素的示例:

假设我们有以下HTML内容:

html
<html> <head></head> <body> <div id="example" DATA-ATTR="some value"></div> </body> </html>

我们需要提取div元素中的DATA-ATTR属性。下面是如何用Cheerio来实现这一点的代码示例:

javascript
const cheerio = require('cheerio'); const html = ` <html> <head></head> <body> <div id="example" DATA-ATTR="some value"></div> </body> </html> `; // 加载HTML字符串到Cheerio const $ = cheerio.load(html); // 选择具体的元素 const element = $('#example'); // 直接通过.attribs属性访问原始属性 const dataAttr = element[0].attribs['DATA-ATTR']; console.log(dataAttr); // 输出: some value

在这个例子中,我们首先加载HTML内容到Cheerio。然后,通过选择器找到具有id为'example'的div元素。由于Cheerio在内部将属性名转换为小写,我们通过访问元素的attribs属性,这是一个包含了元素所有原始属性的对象(包括属性名的大小写)。通过直接引用大写的属性名DATA-ATTR,我们能够成功提取到属性值some value

这种方法可以用来处理HTML元素中的任何大小写敏感的属性,非常适用于处理不规范或特殊的HTML标记。

2024年8月10日 01:11 回复

你的答案