好吧,目前它只是一个字符串。顺便说一句,您的格式是“错误的”-您正在混合数组和对象(错误的,除非您想要对象内的对象数组-> 3维)。
我建议使用:
<div class="" data-slides='{
"imgs" : {
"img1" : "//placekitten.com/g/200/300",
"img2" : "//placekitten.com/g/200/300",
"img3" : "//placekitten.com/g/200/300"
}}'>
或者:
<div class="" data-slides='{
"imgs" : [
"//placekitten.com/g/200/300",
"//placekitten.com/g/200/300",
"//placekitten.com/g/200/300"
]}'>
假设您将内容提取到 var:
var slides = $('div').data('slides'); // or use id instead of div
幻灯片 = JSON.parse(幻灯片); //将JSON字符串解析成一个对象
现在您可以通过(第一种方式)访问它们:
var key;
for(key in slides.imgs)
alert(slides.imgs[key]);
或通过数组方式:
for(var i = 0, img; img = slides.imgs[i]; i++)
alert(img);
或通过第三种方式(作为单独的解决方案):
alert($('div').data('slides').imgs.img1);
后者需要一个对象中的对象才能工作(作为 1. 建议)。
基于小提琴,这里的修改显示了一种方式:http:
//jsfiddle.net/Evcwx/1/
(如果你只需要一个简单的数组,你可以在那里放入一个纯数组,而不是首先使用 imgs - jQuery 检查 { 或 [ 并会自动为你解析它)。