0

XML私がこのようなものを持っているとしましょう:

の を取得しようとしていますが、name機能trackしていません: 私はこれを行います:

$.ajax({
        type: "GET",
        url: "http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=b25b959554ed76058ac220b7b2e0a026&track="+yourTrack+"&artist="+yourArtist,
        dataType: "xml",
        success: function(xml) {
          $(".loading").css("display", "none");
            $(xml).find('track').each(function(){
                var id = $(this).find('id').text();
                console.log("Success!");

                var song = $(this).find('track > name').text();
                var name = $(this).find('artist name').text();
                var album = $(this).find('album title').text();

                $("#more").append("\nSong: " + song);
                $("#more").append("\nArtist: " + name);
                $("#more").append("\nAlbum: " + album);

                $("#more").append("\n\nlast.fm ID: " + id);

            });
        }
    });

結果は次のとおりです。

Song: 
Artist: Hinoi Team
Album: Super Euro Party

last.fm ID: 43135480

ヘルプ?

4

1 に答える 1

1

この行のセレクターは正しくありません:

var song = $(this).find('track > name').text();

$(this)<track>要素です。その中に別の要素を探していますが<track>、これは必要なものではありません。を探している<name>ので、代わりにこれを使用してください。

var song = $('> name', this).text();
于 2012-06-08T23:04:12.973 に答える