Cheerio js html

时间:2014-01-27 08:04:13

标签: jquery html cheerio

我正在尝试用cheerio解析html字符串 我得到的问题是得到表格列的索引

由于cheerio选择器看起来像jQuery我试过:

$('td:contains("Name")').index();

但它适用于jQuery但是cheerio不适用

有你们的任何想法吗?

编辑,因为你在这里问的是一个html的例子,它是一个退出的简单表,但列数可以改变

<table>
   <tr>
     <td>ID</td>
     <td>Name</td>
     <td>Age</td>
   </tr>
   <tr>
      ...
   </tr>
</table>

2 个答案:

答案 0 :(得分:2)

在github here(版本0.17.0)上的Cheerio版本确实支持.index()。 npm中的版本,实际上具有相同的版本号,据我所知,没有。

因此,如果你想使用index,你需要从github而不是通过npm下载它。

答案 1 :(得分:1)

我不认为Cheerio实现了那个选择器。它类似于jQuery,但只是jQuery完整实现的一部分。

你可以通过这样做来解决这个问题:

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);