简体   繁体   English

HTML数据属性值jQuery对象

[英]HTML Data Attribute Value jQuery Object

How can I use an HTML attribute value as a JQuery object with $.param ? 如何使用$.param将HTML属性值用作JQuery对象?

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

When I try this I got strange results. 当我尝试这个时,我得到了奇怪的结果。

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

Wrap your object's property names with double-quotes , in order to have well-formed JSON : 使用双引号包装对象的属性名称,以便具有格式良好的 JSON

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

Then, $.param will return a=1&b=1&c=2 , as expected. 然后, $.param将返回a=1&b=1&c=2 ,如预期的那样。 DEMO . 演示

From HTML5 data-* Attributes : 来自HTML5数据 - *属性

When the data attribute is an object (starts with '{') or array (starts with '[') then jQuery.parseJSON is used to parse the string; 当data属性是一个对象 (以'{'开头)或数组(以'['开头)时,则使用jQuery.parseJSON来解析字符串; it must follow valid JSON syntax including quoted property names . 它必须遵循有效的JSON语法, 包括引用的属性名称

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM