JQuery 子级数

标签 jquery count loops

我有一个相当简单的问题,我正在尝试找出实现它的最佳方法。

对于那些想知道的人来说,这用于从不可编辑的页面中抓取数据(可以添加css,js,但其余内容是闭源的,不可编辑)

我正在迭代一个元素(例如 tr),并且我只想查看存在一定数量 td 元素的情况。

例如,对于每个 tr,我只想考虑它有 3 个 td 子级的情况

最好的方法是什么?

最佳答案

你可以尝试这样的事情:

var result = $('tr').filter( function(){
  return $(this).children('td').length === 3;
});

然后您可以进行任何您喜欢的抓取操作。一个简单的例子:

result.each( function(i,e){ // for each row
  // e = one of the selected rows
  $(e).children('td').each( function(i,e){ // for each td in the row
    your_scraping_function( e.text() ); // etc.
  });
});

正如 @patrick 下面指出的,如果对您的代码有意义,您当然可以将抓取过程直接链接到 filter() 的输出。

编辑:在 children() 中添加了 'td' 选择器。腰带和背带。

编辑:根据OP评论添加了如何浏览结果的示例。

关于JQuery 子级数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4752664/

相关文章:

javascript - $.get 在 Internet Explorer 8 及更低版本中使用 AJAX 时出错

javascript - 滚动到 href 属性时删除类

javascript - EaselJS Sprite gotoAndPlay 不会循环

ruby - 如何在 Ruby 中使用循环输出所有可能的组合?

function - 如何定义动态嵌套循环python函数

如果是明天,jQuery 日期选择器会发出警报

javascript - 在 Angular Js 中选择日期后,不要丢失 Rzslider 的先前位置?

r - 查找组内前一个冬天的事件数

R:按因子 dplyr 计算矩阵汇总统计量

sql - 同一个表的不同列的计数总和