一尘不染

如何将数组传递到jQuery .data()属性

json

好的,所以我想将一个非常基本的数组传递到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/


阅读 564

收藏
2020-07-27

共1个答案

一尘不染

它将变量视为字符串,其第零个元素为[

发生这种情况是因为您的字符串不是有效的JSON,它应使用双引号而不是单引号作为字符串定界符。然后,您必须使用单引号分隔整个属性值。

如果您修改了引号,则原始代码有效(请参见http://jsfiddle.net/ktw4v/12/

<div data-stuff='["a","b","c"]'> </div>

var stuff = $('div').data('stuff');

当jQuery在data属性中看到有效的JSON时,它将自动为您解压缩

2020-07-27