我试图找出如何使用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]
有人知道如何解决这个问题吗?
以下是数组在插入元素之前的样子:
答案 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');