首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cheerio js html

Cheerio js html
EN

Stack Overflow用户
提问于 2014-01-27 08:04:12
回答 2查看 1.3K关注 0票数 2

我试图用cheerio解析html字符串,问题是获取表列的索引

作为啦啦队选择器看起来像jQuery,我试着:

代码语言:javascript
复制
$('td:contains("Name")').index();

但它适用于jQuery,但对cheerio却不起作用

你们有什么想法吗?

编辑:正如您在这里所问的,是html的一个示例,它是一个退出简单的表,但列数可以更改

代码语言:javascript
复制
<table>
   <tr>
     <td>ID</td>
     <td>Name</td>
     <td>Age</td>
   </tr>
   <tr>
      ...
   </tr>
</table>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-27 08:59:52

我不认为Cheerio实现了那个选择器。它类似于jQuery,但仅是jQuery完全实现的一个子集。

你可以做这样的事情来解决这个问题:

代码语言:javascript
复制
var cheerio = require('cheerio'),
    $ = cheerio.load('<table><tr><td>ID</td><td>Name</td><td>Age</td></tr></table>');

var nameIndex = $('td').map(function(i, e) {
  if ($(this).text() === 'Name')
    return i;
})[0];

// Outputs "1" in this example.
console.log(nameIndex);
票数 1
EN

Stack Overflow用户

发布于 2014-07-22 19:41:56

github 这里上的Cheerio版本(版本0.17.0)实际上支持.index()。据我所知,npm中的版本实际上有相同的版本号。

因此,如果您想使用index,则需要从github而不是通过npm将其从github中提取下来。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21375680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档