在HTML元素中存储JS数组

时间:2014-07-22 13:45:32

标签: javascript jquery html

我试图找出如何使用jQuery将数组存储在HTML元素中以供以后使用。

当我稍后访问我的元素并打印出我得到的元素的属性值时:

[object Object]

如何将其解析回数组以便我可以访问它?

在我的一个档案中,我有这个:

$("#logInName").attr("assessments", assessments);

然后在我的一个iFrame中:

function getAssessments() {
    var assess = $("#logInName", window.parent.document).attr("assessments");
    console.log(assess.toArray());
}

再次输出:[object Object]

有人知道如何解决这个问题吗?

以下是数组在插入元素之前的样子:

enter image description here

3 个答案:

答案 0 :(得分:0)

使用JSON.stringify将对象的输出转换为有效的JSON格式。

尝试console.log(JSON.stringify(assess.toArray()));

答案 1 :(得分:0)

您可以使用JSON(a.k.a。 JavaScriptObjectNotation )在普通对象和字符串之间进行转换:

$("#logInName").attr("data-assessments", JSON.stringify(assessments));

然后将其检索为:

var assessments = JSON.parse($("#logInName").attr("data-assessments"));

(它也适用于"assessments",但包含data-前缀是通用的,以确保在将来的HTML版本中向前兼容)

答案 2 :(得分:0)

您可以使用data

$("#logInName").data('assessments',assessments);

然后检索

$("#logInName").data('assessments');