HTML数据属性值jQuery对象

时间:2012-09-15 13:50:07

标签: jquery html json

如何将HTML属性值用作$.param对象?

<div data-sd="{a:1,b:1,c:2}"></div>

当我尝试这个时,我得到了奇怪的结果。

<script type="text/javascript">
var v = $.param($('div').data('sd'));
</script>

1 个答案:

答案 0 :(得分:4)

使用双引号包装对象的属性名称,以便格式正确 JSON

<div data-sd='{"a":1,"b":1,"c":2}'></div>​​​​​​​​​​​​​​​​​​​

然后,$.param将按预期返回a=1&b=1&c=2。的 DEMO

来自 HTML5 data-* Attributes

  

当数据属性为对象(以&#39; {&#39;开头)或数组时   (以&#39; [&#39;开头)然后jQuery.parseJSON用于解析字符串;   它必须遵循有效的JSON语法,包括引用的属性名称