var arr=[...];
var html = '<input attr="' + serialize(arr) + '">';
我不能簡單地join(' ')
的arr
因爲可能會有空格或其他特殊字符。如何將JavaScript數組序列化爲html屬性並使用jquery獲取它?
我如何做正確?
var arr=[...];
var html = '<input attr="' + serialize(arr) + '">';
我不能簡單地join(' ')
的arr
因爲可能會有空格或其他特殊字符。如何將JavaScript數組序列化爲html屬性並使用jquery獲取它?
我如何做正確?
您可能想要.data
,使用它可以將任何數據存儲在DOM元素上。
var html = $("<input>");
html.data("something", arr);
然後你就可以將其追加使用插入方法,如.append
地方。
與再次獲取數據:
var arr = html.data("something");
另一種方法是使用JSON事物轉換成一個字符串以及設置作爲一個屬性:
var html = $("<input>").attr("data-something", JSON.stringify(arr));
另一種方式:
var arr = JSON.parse(html.attr("data-something"));
在我的情況下,我必須生成html字符串... –
@Je Rog:你不能使用jQuery函數嗎?如果可以的話,你真的應該這樣做,因爲'.data'是迄今爲止在元素上存儲數據的最方便的方式。 – pimvdb
許多其他代碼需要生成html字符串,所以我必須使它與那些兼容... –
你可能想看看。數據()方法。這使您可以將任意對象附加到DOM元素。
爲什麼要這麼做? – graphicdivine