【发布时间】:2014-10-10 04:39:07
【问题描述】:
我想使用数组作为 data-* 属性,并且很多 StackOverflow 答案建议我应该使用 JSON.stringify();
- How to pass an array into jQuery .data() attribute
- Store and use an array using the HTML data tag and jQuery
- https://gist.github.com/charliepark/4266921
- 等
所以,如果我有这个数组:['something', 'some\'thing', 'some"thing'],它将被解析为"["something","some'thing","some\"thing"]",因此它既不适合data-*='',也不适合data-*="",因为' 或" 都会破坏HTML标记。
我是否遗漏了什么或者encodeURIComponent() 是对这样的数组进行编码的真正解决方案?为什么在其他 StackOverflow 答案中没有人注意到这一点?
【问题讨论】:
-
你想使用 JavaScript 生成 HTML 代码,或者你为什么要问
encodeURIComponent...? -
您可以简单地将属性附加到元素上,包括数组。这将防止解析 html 的复杂性。
-
不,我只想将一个同时使用
"和'的值作为data-*属性的值。
标签: javascript json