您好我有以下javascript:
for(i = 0; i < data.length; i++) {
$li = $("<li>").addClass('slide');
//images
for(j = 0; j < data[i].images.length; j++){
$a = $("<a>").attr("href", data[i].images[j].href).appendTo($li);
$("<img>")
.attr("src", data[i].images[j].src)
.attr("alt", data[i].images[j].alt)
.attr("usemap", "#map" + i)
load(imgLoadFunc)
}
}
然后在jsonp文件中我有:
[
{
"images": [
{
"src":"image1.jpg",
"href":"http://www.myurl.com",
"alt": "Screen 1"
}
]
出于某种原因,alt不会在页面上显示任何内容。有人可以帮忙吗?
由于
答案 0 :(得分:1)
1)您是否错过了作为示例提供的文件中的结尾“}”?如果是这样,那就是你的问题。
2)每当您制作JSON文件时,请将输出提供给JSONLint。如果你知道你的JSON是好的,你会为自己省去很多麻烦和疯狂的追逐。
答案 1 :(得分:0)
我认为你的json正在发生一些事情。当我尝试这个时,它工作正常:
var data = [
{
"images":
{
"src":"image1.jpg",
"href":"http://www.myurl.com",
"alt": "Screen 1"
}
},
{
"images":
{
"src":"image2.jpg",
"href":"http://www.myurl.com",
"alt": "Screen 2"
}
}
];
alert(data[1].images.alt);
答案 2 :(得分:0)
更新:问题在于你的json
请检查这个json,它在jslint上测试并且工作正常
var data = [{ "images": [{"src" : "image1.jpg", "href" : "http://www.myurl.com", "alt" : "Screen 1" }, {"src" : "image2.jpg", "href" : "http://www.myurl2.com", "alt" : "Screen 2" }] } ];
更新了JSFiddle:http://jsfiddle.net/raunakkathuria/2aFp2/2/
这适用于旧的json数据:如果您的数据是您正在访问的json变量,那么您需要更改逻辑,json没有length属性,因此data.length
不正确,如果您的图像在数据包含您想要的所有图像data.images.length