2
我有一个中等简单的问题,我试图找出实现它的最佳方法。JQuery儿童人数
对于那些想知道,这是用来从不可编辑的网页刮数据(可以添加CSS,JS,但其余内容是闭源的,而不是可编辑)
我通过迭代一个元素(例如tr
),我只想看看存在一定数量的td
元素的情况。
例如,对于每一个tr
,我只需要考虑它有3个孩子td
什么是做到这一点的最好办法的情况下?
我有一个中等简单的问题,我试图找出实现它的最佳方法。JQuery儿童人数
对于那些想知道,这是用来从不可编辑的网页刮数据(可以添加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()
的输出。
编辑:添加'td'
选择器在children()
。皮带和吊带。
编辑:添加了如何浏览结果的示例,按照OP评论。
打我吧。实际上,我会在children()中加入一个'tr'选择器,因为它可以在技术上采用th标签。 – Tesserex 2011-01-20 21:18:39