Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML数据属性值jQuery对象_Jquery_Html_Json - Fatal编程技术网

HTML数据属性值jQuery对象

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')); 用双引号将对象的属性名称括起来,以便格式

如何将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
将按预期返回
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>​​​​​​​​​​​​​​​​​​​