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

编程入门 行业动态 更新时间:2024-10-25 03:16:29
本文介绍了如何将数组传递给jQuery .data()属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

好吧,我想将一个非常基本的数组传递给jquery数据attrubute服务器端,如下所示:

< div数据东西= [ 'A', 'b', 'C'] >< / DIV>

然后像这样检索:

var stuff = $('div')。data('stuff'); alert(stuff [0]);

为什么会出现提示'['而不是'a'(请参阅JSfiddle链接) p>

JSFiddle链接: http:/ /jsfiddle/ktw4v/3/

解决方案

它将您的变量视为一个字符串,它的第零个元素这是 [。

这是因为你的字符串不是有效的JSON ,它应该使用双引号作为字符串分隔符而不是单引号。您必须使用单引号来分隔整个属性值。

如果您修复了引号,您的原始代码将起作用(请参阅 jsfiddle/ktw4v/12/ )

< div data-stuff ='[a,b,c]'> < / DIV> $ b $ var stuff = $('div')。data('stuff');

当jQuery在数据属性中看到有效的JSON时,它会自动为您解压缩。

Ok so I want to pass a very basic array into a jquery data attrubute server side like so:

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

and then retreive like so:

var stuff = $('div').data('stuff'); alert(stuff[0]);

Why does this appear to alert '[' and not 'a' (see JSfiddle link)

JSFiddle Link : jsfiddle/ktw4v/3/

解决方案

It's treating your variable as a string, the zeroth element of which is [.

This is happening because your string is not valid JSON, which should use double-quotes as a string delimiter instead of single quotes. You'll then have to use single-quotes to delimit the entire attribute value.

If you fix your quotation marks your original code works (see jsfiddle/ktw4v/12/)

<div data-stuff='["a","b","c"]'> </div> var stuff = $('div').data('stuff');

When jQuery sees valid JSON in a data attribute it will automatically unpack it for you.

更多推荐

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

本文发布于:2023-11-08 07:55:29,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   如何将   属性   jQuery   data

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!