在阅读dom并使用cheerio.js使用简单的node.js应用程序时,我遇到了一些问题(可能是误解了soemthing)。
我使用请求从网站抓取html并且cheerio导航它找到某些部分。 作为示例,html看起来像这样....
<html>
<body>
<table>
<tr><td class="title"/>Title 1</td></tr>
<tr>
<td>
<table>
<tr>
<td class="dl">Some Name1</td>
</tr>
</table>
<td>
</tr>
<tr><td class="title"/>Title 2</td></tr>
<tr>
<td>
<table>
<tr>
<td class="dl">Some Name2</td>
</tr>
</table>
<td>
</tr>
<tr><td class="title"/>Title 3</td></tr>
<tr>
<td>
<table>
<tr>
<td class="dl">Some Name3</td>
</tr>
</table>
<td>
</tr>
</table>
</body>
</html>
想要做什么找到 td 的所有实例,其中标题 抓住每个标题文本,然后在 td 中使用 dl 类获取名称。
到目前为止
$('td[class=title]')
将为我提供该类的所有 td 并使用每个函数
$('td[class=title]').each(function(i, elem)
让我从每个文本中抓取文本,但是我想获取标题,然后使用 dl 类获取下一个 td ,然后再转到下一个标题。
我想我真正要问的是,我可以获得td.dl元素 $(&#39; td [class = title]&#39; .each功能?
答案 0 :(得分:0)
是的,你可以:
.each(function(){
$(this).parent().next().find('td.d1').text()
})