2

学校向けに flickr API から取得した画像の単純な 10 個の画像ギャラリーを構築しようとしているときに、問題が発生しました。

私のコード...

$(document).ready(function() {
    $.get('http://api.flickr.com/services/rest/?&method=flickr.photos.search&tags=thor&api_key=[API_KEY]5&per_page=10', function(data) {
        var items = [];
        $(data).find("photo").each(function(index, value) {
            var ident = (value.id);
            var secret_id = (value.secret);
            var farm_id = (value.farm);
            var server_id = (value.server);
            $("#target").append("<p>" + ident + " " + server_id + " " + secret_id + " " + farm_id + "</p>");
        });
    });
});

出力...

"10627683824 undefined undefined undefined" (ID 値が異なる 10 個)

私は正しい軌道に乗っていることを知っています。誰かが私に未定義の値を取得している理由を説明できれば、それは大歓迎です。

4

1 に答える 1

2

attr返された XML から属性を取得するには、を使用する必要があります。これを試して:

$.get('http://api.flickr.com/services/rest/?&method=flickr.photos.search&tags=thor&api_key=[API_KEY]&per_page=10', function (data) {
    var items = [];
    $(data).find("photo").each(function (index, value) {
        var ident = value.id;
        var secret_id = $(value).attr('secret');
        var farm_id = $(value).attr('farm');
        var server_id = $(value).attr('server');
        $("#target").append("<p>" + ident + " " + server_id + " " + secret_id + " " + farm_id + "</p>");
    });
});

フィドルの例

それが機能する唯一の理由は、ネイティブ プロパティでvalue.idあるためです。id

于 2013-11-02T19:24:05.087 に答える