2012-04-03 89 views
2

可能重複:
JQuery .each() backwards有沒有內置的方式來反向使用JQuery的.each()?

什麼是使用反向.each()最簡單的方法?目前,我這樣做:

var temp = []; 

$("#nav a").each(function() 
{ 
    temp.push($(this)); 
}); 

temp.reverse(); 
for(var i = 0; i < temp.length; i++) 
{ 
    var a = temp[i]; 

    // Work with a. 
} 

這將是很好,如果我可以這樣做:

$("#nav a").reverse().each(function() 
{ 
    // Work with $(this). 

}); 

的背景是,我有使用float: right元素的集合,顯示他們在反向順序,我想像往常一樣從左到右迭代它們。

+0

http://stackoverflow.com/questions/1394020/ jquery-each-backwards – 2012-04-03 23:56:53

+0

@JonFriskics這將工作,感謝 - 投票結束我的問題:) – Marty 2012-04-03 23:57:17

+0

偉大的問題,我相信答案是「不」。有些天才需要爲jQuery做一個小的附加包,以提供所有明顯的功能性編程原語......如果有人已經有人叫我叫一個dolt並將其命名爲:-) – Pointy 2012-04-03 23:57:37

回答

6

使用此

$($("#nav a").get().reverse()).each(function() { 
    //.......... 
}); 
0

我不能居功,因爲我看到了其他地方在這裏SO,但我認爲這應該幫助;添加功能,jQuery的原型就像這樣:

$.fn.reverse = [].reverse 

然後用上面所示:

$('#nav a').reverse(); // returns a reversed array of elements 

希望這有助於:)

相關問題