我正在尝试用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>
答案 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);