如何在html元素中使用html5数据属性存储javascript对象或JSON?

时间:2016-03-09 13:04:32

标签: javascript jquery json html5

我有锚元素。我想以这种方式存储和检索它中的对象。

<a  id ="test" data-val="{key1:val1,key1:val1}"> </a>

如果我以这种方式保存,同时取出它

$("#test").data('val')它给我字符串

"{key1:val1,key1:val1}"

但我无法再将其解析为json or javascript object。 我尝试过使用$.parseJSON()JSON.parse()。但它引发了一个错误。

我们如何在没有localstorage or sessionstorage o cookie

的情况下实现这一目标

编辑

致电$("#test").data('val')

我得到这样的字符串

"{'category_slug' : 'featured','tip_slug':'tip-with-all-cats'}"

如果我使用$.parseJSON()JSON.parse()则会抛出错误

Uncaught SyntaxError: Unexpected token

2 个答案:

答案 0 :(得分:4)

那是因为它不是JSON。

有效的JSON引用了键并使用双引号来分隔字符串。您的示例不符合这些要求。

答案 1 :(得分:1)

这是无效的JSON,特别是你缺少引号:

{"key1":"val1","key1":"val1"}