我有一个相当简单的问题,我正在尝试找出实现它的最佳方法。
对于那些想知道的人来说,这用于从不可编辑的页面中抓取数据(可以添加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/