2011-10-19 80 views
4

我想創建一個數組,分配給一個div元素,push()一個值,並在稍後階段再次檢索它。jquery - 如何設置和檢索數組存儲使用數據()

誰能告訴我,我錯過了什麼...:

// set Array 
// $(this) is the HTML-element which should get array assigned 
var stack = [], 
    stack.push('#'+$(this).find(':jqmData(role="page")').attr('id')), 

$(this).data(stack); 

使用

console.log($(this).data(stack)); 

我找回了整個HTML元素,而

console.log($(this).data(stack[0] OR stack.length)); 

不起作用。

如何訪問我(推測是)推入陣列的元素?

回答

3

您需要命名您的數據。例如:

$("div").data("stack", []); //This sets the data key "stack" to an empty array 
$("div").data("stack").push(123); //This retrieves the array and pushes a number to the array 
console.log($("div").data("stack")); //This prints the array 
+0

有趣的方法,+1 –

+0

非常感謝你。完美的作品! – frequent

1

要分配數據到一個元素,你必須給它一個索引的關鍵。

PUT

$(this).data('stack', stack); 

GET

var stack = $(this).data('stack'); 
+0

也感謝,但我使用Xeon06的建議 – frequent

0

數據需要一個鍵,值對。你沒有通過鑰匙。

$(this).data('stack', stack); 

然後檢索它:

$(this).data('stack'); 
相關問題