HTML数据属性值jQuery对象
如何将HTML属性值用作带有HTML数据属性值jQuery对象,jquery,html,json,Jquery,Html,Json,如何将HTML属性值用作带有$.param的JQuery对象 <div data-sd="{a:1,b:1,c:2}"></div> 当我尝试这个时,我得到了奇怪的结果 <script type="text/javascript"> var v = $.param($('div').data('sd')); </script> var v=$.param($('div').data('sd')); 用双引号将对象的属性名称括起来,以便格式
$.param
的JQuery对象
<div data-sd="{a:1,b:1,c:2}"></div>
当我尝试这个时,我得到了奇怪的结果
<script type="text/javascript">
var v = $.param($('div').data('sd'));
</script>
var v=$.param($('div').data('sd'));
用双引号将对象的属性名称括起来,以便格式正确:
然后,$.param
将按预期返回a=1&b=1&c=2
从:
当数据属性是对象时(以“{”)或数组开头
(以“[”开头),然后使用jQuery.parseJSON解析字符串;
它必须遵循有效的JSON语法,包括带引号的属性名
将对象的属性名称用双引号括起来,以便格式正确:
然后,$.param
将按预期返回a=1&b=1&c=2
。
从:
当数据属性是对象时(以“{”)或数组开头
(以“[”开头),然后使用jQuery.parseJSON解析字符串;
它必须遵循有效的JSON语法,包括带引号的属性名
你能解释一下“奇怪的结果”和你期望的结果吗?@dSquared:data sd不是一个格式良好的JSON对象,
$.param
实际上会尝试转换字符串“{a:1,b:1,c:2}”,产生0=%7B&1=a&2=%3A&3=1&4=%2C&5=b&6=%3A&7=1&8=%2C&9=c&10=%3A&11=2&12=%7D
而不是a=1&b=1&c=2
。您能解释“奇怪的结果”和您的期望吗?@dSquared:因为数据sd
不是格式良好的JSON对象,$。param
实际上会尝试转换字符串“{a:1,c:2}“
,产生0=%7B&1=a&2=%3A&3=1&4=%2C&5=b&6=%3A&7=1&8=%2C&9=c&10=%3A&11=2&12=%7D
而不是a=1&b=1&c=2
。
<div data-sd='{"a":1,"b":1,"c":2}'></div>