javascript - 提取跨度之间的所有值

标签 javascript node.js cheerio

如果页面上出现两次 tbody,我如何提取下面第二次出现的 tbody 中跨度之间的所有值? id(id=id1、id=id2 等)在整个文档中仅出现一次,即第二个正文中。

<tbody>
    <tr>
        <td><b>
            <span id="id1">1,209</span></b></td>
        <td><b>
            <span id="id2">$&nbsp;14.6381</span></b><br />
            (<span id="id3">16:26:20 PM</span>)</td>
        <td><b>
            <span id="id4">$&nbsp;14.55</span></b><br />
            (<span id="id5">19:58:12 PM</span>)</td>
    </tr>
</tbody>

到目前为止我有以下内容

var $ = cheerio.load(html);
$('tbody').each(function(i, element) {
if(i == 1){
var children = $(this).children();
}
});

最佳答案

请参阅下面的代码。我使用的是jquery,但cheerio 应该是相同的命令。

//var $ = cheerio.load(html);
$(function() {

  var idsFromSpans = [];
  $('tbody')
    .first() //Grab the first tbody
    .next() //Grab the second tbody
    .find('span') //Grab all span elements
    .each(function(i, element) {
      idsFromSpans.push($(element).text()); //Grab contents of span
    });

  console.log(idsFromSpans);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
  </tbody>
  
  <tbody>
    <tr>
      <td><b>
        <span id="id1">1,209</span></b></td>
      <td><b>
        <span id="id2">$&nbsp;14.6381</span></b><br />
        (<span id="id3">16:26:20 PM</span>)</td>
      <td><b>
        <span id="id4">$&nbsp;14.55</span></b><br />
        (<span id="id5">19:58:12 PM</span>)</td>
    </tr>
  </tbody>
</table>

关于javascript - 提取跨度之间的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42183233/

相关文章:

javascript - 比较两个之间的验证(hh :mm:ss a) times in moment. js

javascript - 在 Angular 中使用 shareReplay(1) - 仍然调用 http 请求?

java - 如何从数组 Javascript 和数组 JSP 更新数组

node.js - 直接流式表达响应时处理mongodb错误

javascript - 更新 HTML 以使用 JavaScript 或 jQuery 结束标记

javascript - 使用cheerio.js进行抓取,得到: Error: Can only perform operation while paused

javascript - jquery 显示和隐藏图像不起作用

node.js - 使用 npm 安装 pg 模块时出错

javascript - 从 Cheerio 抓取 Youtube 数据

javascript - 在 Sails.js 中使用 GruntFile 根据当前 Controller 加载 JS 文件