2013-04-26 68 views
4

以下是我正在使用的代碼。頂部$('div.pagination...工作正常,我可以alert(length),它給了我在分頁部分頁面的正確價值。底部看起來不起作用。這是一個刮板,將在論壇上打開每一頁。如果我離開它的循環,它會成功重新獲得頁面here的網址。 length -=2將從總數中移除下一個/前一個liJavaScript循環通過分頁div中的li

$('div.pagination').each(function() { 
    var length = $(this).find('li').length; 
    length -= 2; 
}); 

for (var i = 0; var <= length; i++) { 
    var pageToOpen = 'http://someWebsite.com/index/page:' + i; 
    alert(pageToOpen); 
    page.open(pageToOpen, function (status) { 
     if (status == 'success') { 
      logAuctions(); 
     } 
    }}); 
} 
+3

:對於(VAR I = 0; I <=長度;我++)...代替第二變種,其中i – tschulze 2013-04-26 13:29:11

+0

我不理解您,「長度」和所有使用該數字的數字,可能並不是實際的「.../page:Number」頁面。你要做什麼? – 2013-04-26 13:39:37

回答

2

定義您var length外(前)使用.each()

.lentgh方法,你可能會錯過真正的頁面索引。所以我會建議抓住真正的主播href s。

FIDDLE DEMO

var pages = []; 

// skipping the "Next" and "Last" get all A ahchors 
$('div.pagination li').slice(0,-2).find('a').each(function(){ 
    pages.push($(this).attr('href')); 
}); 

$.each(pages, function(i, v){ 
    $('<div>'+ ("http://someWebsite.com"+v) +'</div>').appendTo('#output'); 
}); 




/* WILL RESULT IN: 

http://someWebsite.com/auctions/index/page:2 
http://someWebsite.com/auctions/index/page:3 
http://someWebsite.com/auctions/index/page:4 

*/ 
在for循環
+0

爲什麼'var length = $('div.pagination li')。length - 2;' – 2013-04-26 13:36:08

+1

所以我的問題是在函數中定義了長度,並且在循環中無法訪問? – SuperNoob 2013-04-26 13:41:41

+0

在這種情況下,您還可以考慮$ .map? – 2013-04-26 14:01:18