jquery - 如何使用data()存储的数组设置和检索值

时间:2011-10-19 14:12:23

标签: jquery arrays

我正在尝试创建一个数组,将其分配给div-element,push()一个值,然后在以后再次检索它。

有人可以告诉我,我错过了什么......:

// 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 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

要将数据分配给元素,您必须为其提供索引的键。

<强> PUT

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

获取

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

答案 2 :(得分:0)

数据采用键值对。你没有传递密钥。

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

然后检索它:

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