如何将javascript数组序列化为html属性并使用jquery获取它?

时间:2011-09-26 14:41:04

标签: javascript jquery

var arr=[...];

var html = '<input attr="' + serialize(arr) + '">';

我不能简单join(' ') arr,因为可能有空格或其他特殊字符。

我该如何正确地做到这一点?

2 个答案:

答案 0 :(得分:2)

你可能想要.data,使用它可以在DOM元素上存储任何数据。

var html = $("<input>");
html.data("something", arr);

然后,您可以使用.append等插入方法将其附加到某处。

使用以下方法再次获取数据:

var arr = html.data("something");

http://jsfiddle.net/UKRcs/


另一种方法是使用JSON将事物转换为字符串并将其设置为属性:

var html = $("<input>").attr("data-something", JSON.stringify(arr));

反之亦然:

var arr = JSON.parse(html.attr("data-something"));

http://jsfiddle.net/UKRcs/1/

答案 1 :(得分:1)

您可能需要查看.data()方法。这允许您将任意对象附加到DOM元素。

http://api.jquery.com/data/