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