2011-01-20 160 views
2

我有一箇中等簡單的問題,我試圖找出實現它的最佳方法。JQuery兒童人數

對於那些想知道,這是用來從不可編輯的網頁刮數據(可以添加CSS,JS,但其餘內容是閉源的,而不是可編輯)

我通過迭代一個元素(例如tr),我只想看看存在一定數量的td元素的情況。

例如,對於每一個tr,我只需要考慮它有3個孩子td

什麼是做到這一點的最好辦法的情況下?

回答

5

你可以嘗試這樣的事:

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評論。

+0

打我吧。實際上,我會在children()中加入一個'tr'選擇器,因爲它可以在技術上採用th標籤。 – Tesserex 2011-01-20 21:18:39