jQuery - 使某些XML无法正常工作

时间:2012-06-08 22:59:23

标签: javascript jquery xml

假设我有XML这样:http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=b25b959554ed76058ac220b7b2e0a026&track=Just%20for%20Me&artist=Hinoi%20Team

我正试图获取name的{​​{1}}并且它无效:我这样做:

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);

            });
        }
    });

帮助?

1 个答案:

答案 0 :(得分:1)

此行中的选择器不正确:

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

$(this)<track>元素。您正在寻找其中的另一个<track>元素,这不是您需要的。您正在寻找<name>,因此请改用:

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