0

何が間違っているのかわかりませんが、すべてのアイテムはタグ<li>アイテム内にあるはず</li>ですが、最初のアイテムだけです。何ができますか?

JavaScript:

$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Frss.cnn.com%2Fservices%2Fpodcasting%2Fac360%2Frss.xml'%20AND%20itemPath%3D%22%2F%2Fchannel%22&format=json&diagnostics=true&callback=?", function (data) {

    var titles = data.query.results.channel.item.map(function(item) {
    return item.title;

    });

    $(".container-list-podcast ul").append('<li>' + titles.join('</li>'));

});

jsfiddle

4

6 に答える 6

4

この行は次のようにする必要があります。

 $(".container-list-podcast ul").append('<li>' + titles.join('<li>'));

以下のTJ Crowderの提案に合わせて編集。

于 2013-08-08T17:36:15.193 に答える
3

<li>後続の開始タグはありません。あなたはおそらく次のことを意味していました:

$(".container-list-podcast ul").append('<li>' + titles.join('</li><li>') + '</li>');
// This opens the first item (only) ----^                    ^    ^         ^
// This closes each item except the last --------------------+    |         |
// This opens the second one onward ------------------------------+         |
// This closes the last one ------------------------------------------------+

</li>または、終了タグがオプションであるという事実に依存したい場合は、次のようになります。

$(".container-list-podcast ul").append('<li>' + titles.join('<li>'));
于 2013-08-08T17:36:26.287 に答える
0

これは、ソリューション用に修正されたコードhttp://jsfiddle.net/Cf5QU/2/です。

 $.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Frss.cnn.com%2Fservices%2Fpodcasting%2Fac360%2Frss.xml'%20AND%20itemPath%3D%22%2F%2Fchannel%22&format=json&diagnostics=true&callback=?", function (data) {

    var titles = data.query.results.channel.item.map(function(item) {
    return item.title;

    });

    $(".container-list-podcast ul").html('<li>' + titles.join('</li>' + '<br>' + '<li>'));

});

ブレークラインと新しいliを追加する必要があります

于 2013-08-08T17:48:27.673 に答える
0

更新されたコードhttp://jsfiddle.net/m627u/ :

$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Frss.cnn.com%2Fservices%2Fpodcasting%2Fac360%2Frss.xml'%20AND%20itemPath%3D%22%2F%2Fchannel%22&format=json&diagnostics=true&callback=?", function (data) {

    var titles = data.query.results.channel.item.map(function(item) {
    return '<li>'+item.title+'</li>';

    });
    $(".container-list-podcast ul").append(titles);
});

<li>各タイトルではなく、集合的な文字列を に入れていました。

于 2013-08-08T17:39:39.843 に答える
0
$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Frss.cnn.com%2Fservices%2Fpodcasting%2Fac360%2Frss.xml'%20AND%20itemPath%3D%22%2F%2Fchannel%22&format=json&diagnostics=true&callback=?", function (data) {

    var titles = data.query.results.channel.item.map(function(item) {
    return item.title;

    });

    $.each(titles, function(key, value){
        $(".container-list-podcast ul").append('<li>' + value + '</li>');
    });                

});
于 2013-08-08T17:39:54.077 に答える
0

ここに動作するデモがあります

$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Frss.cnn.com%2Fservices%2Fpodcasting%2Fac360%2Frss.xml'%20AND%20itemPath%3D%22%2F%2Fchannel%22&format=json&diagnostics=true&callback=?", function (data) {

    var titles = data.query.results.channel.item.map(function(item) {
    return item.title;

    });

    $(".container-list-podcast ul").append('<li>' + titles.join('</li><li>'));

});
于 2013-08-08T17:40:14.780 に答える