Как загрузить изображения из массива JSON? - PullRequest
0 голосов
/ 04 апреля 2011

Мне интересно, как загрузить пару изображений из файла json в li?вот файл json

[
{"id":"1",
 "link":"11.jpg",
}
{"id":"2",
 "link":"12.jpg",
}
{"id":"3",
 "link":"13.jpg",
}
]

и у меня есть <ul id="links"></ul>

Я пробовал это, но безуспешно:

$.getJSON("feed.json", loadImage);
 function loadImage(data) {
 $.each(data.link, function(i,item){
    $("<img/>").attr("src", item).appendTo("#links");
 });
 }

есть идеи?

edit: даже с item все еще не работает.Изображения находятся в одной папке

Ответы [ 3 ]

3 голосов
/ 04 апреля 2011

Для начала вы можете попробовать определить функцию loadImage, прежде чем использовать ее.В любом случае, это должно выглядеть примерно так:

$.getJSON("feed.json", function(data) {
    $.each(data, function(i,item) {
        $("<img/>").attr("src", item.link).appendTo("#links");
    }
});
0 голосов
/ 04 апреля 2011
$.getJSON("feed.json", loadImage);
 function loadImage(data) {
 $.each(data.items, function(i,item){
    $("<img/>").attr("src", item.link).appendTo("#links"); //use item.link. 
 )};
}
0 голосов
/ 04 апреля 2011

Вам, вероятно, следует использовать параметр item в функции each вместо data.link. Потому что item относится к текущему элементу, который вы перебираете.

Изменение:

$("<img/>").attr("src", data.link).appendTo("#links");

К следующему:

$("<img/>").attr("src", item.link).appendTo("#links"); // Changed data.link to item.link

Попробуйте выполнить трассировку item в функции each.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...