我有兩個DIV元素,使用data()
分配了一個名爲「堆棧」的數組。jQuery的 - 我可以彈出()單個調用使用className的2數組的最後一個元素?
這兩個DIV元素都有一類.trigger
。
我現在要彈出()兩個陣列的最後一個元素像這樣:
$('.trigger').data("stack").pop()
然而,這僅需要關閉第一陣列的最後一個元素,雖然$('trigger').length
返回2.
有沒有辦法在一行中刪除兩個數組中的最後一個元素?
我有兩個DIV元素,使用data()
分配了一個名爲「堆棧」的數組。jQuery的 - 我可以彈出()單個調用使用className的2數組的最後一個元素?
這兩個DIV元素都有一類.trigger
。
我現在要彈出()兩個陣列的最後一個元素像這樣:
$('.trigger').data("stack").pop()
然而,這僅需要關閉第一陣列的最後一個元素,雖然$('trigger').length
返回2.
有沒有辦法在一行中刪除兩個數組中的最後一個元素?
你可以這樣做:
$('.trigger').each(function() { $(this).data('stack').pop(); });
一般來說,jQuery函數返回一個值(如「數據()」或「的.css()」時,通過僅1字符串參數)僅在操作匹配數組中的第一個元素。因此,當你想做類似交易的事情時,你可以使用明確的「.each()」來獲取每個元素。
你可以使用「地圖」 -
var arr = $('.trigger').map(function() {
return $(this).data("stack").pop()
})
演示 - http://jsfiddle.net/5gvAH/
由於尖指出,這個解決方案工作得很好,如果你需要從每個陣列中彈出的值。如果您只想彈出這些值並且不需要返回的值,那麼Pointy的建議將是最合適的。
好的。今天學到了一些東西:-) – frequent