<li>标签仅创建第一个项目</li>

时间:2013-08-08 17:34:49

标签: jquery

我不知道我做错了什么,但所有项目都应该在标记<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

6 个答案:

答案 0 :(得分:4)

这一行必须是:

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

编辑以符合T.J Crowder的建议。

答案 1 :(得分: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>代码为optional这一事实,可能是:

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

答案 2 :(得分: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>,而不是每个标题。

答案 3 :(得分: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>');
    });                

});

答案 4 :(得分:0)

这是工作DEMO

$.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>'));

});

答案 5 :(得分: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>'));

});

你必须添加break line和new li