好的,所以我想将一个非常基本的数组传递到jquery数据attrubute服务器端,如下所示:
<div data-stuff="['a','b','c']"></div>
然后像这样回撤:
var stuff = $('div').data('stuff'); alert(stuff[0]);
为什么这似乎会警告’[‘而不是’a’(请参阅JSfiddle链接)
JSFiddle链接: http : //jsfiddle.net/ktw4v/3/
它将变量视为字符串,其第零个元素为[。
[
发生这种情况是因为您的字符串不是有效的JSON,它应使用双引号而不是单引号作为字符串定界符。然后,您必须使用单引号分隔整个属性值。
如果您修改了引号,则原始代码有效(请参见http://jsfiddle.net/ktw4v/12/)
<div data-stuff='["a","b","c"]'> </div> var stuff = $('div').data('stuff');
当jQuery在data属性中看到有效的JSON时,它将自动为您解压缩。