使用javascript如何将rss feed放入列表并仅显示其中的4个

时间:2015-12-01 13:27:22

标签: javascript jquery rss

我有rss标题进入一个下拉框,当他们点击每一个时他们会改变,但我想在页面上显示大约4个rss,所以我不需要下拉框。

$(document).ready(function()
{
    $.ajax({
        type: "GET",
        url: "rss_warriors.php",
        dataType: "xml",
        cache: false,
        success: parse_rss
    });

    function parse_rss(rss_feed)
    {
        console.log(rss_feed);
        $('#output').append('<select>');

        $(rss_feed).find("item").each(function()
        {
            $('select').append('<option value="' + 
            $(this).find('title').text() + '">' + 
            $(this).find('title').text() + '</option>');
        });

        line_record(0,rss_feed);

        $("select").on("change", function(evt) 
        {
            line_record( $("select option:selected").index(),rss_feed)
        });   
    } 

    function line_record(sel_index,rss_feed) 
    {
        var local_index = sel_index;
        var image_url;                                               
        var item_title;
        var item_description;
        var item_pubDate;
        image_url = $(rss_feed).find("item").eq(local_index).find("thumbnail").last().attr("url");
        item_title = $(rss_feed).find("item").eq(local_index).find("title").text();                               
        item_description = $(rss_feed).find("item").eq(local_index).find("description").text();
        item_pubDate = $(rss_feed).find("item").eq(local_index).find("pubDate").text();
        $("#img_warriors").empty();
        $("#txt_warriors").empty();
        $("#img_warriors").append("<img src='" + image_url + "'>");
        $("#txt_warriors").append("<span class='title_large'>" + item_title + "</span>");
        $("#txt_warriors").append("<p>" + item_description + "</p>");
        $("#txt_warriors").append("<p>" + item_pubDate + "</p>");
    }   
});

1 个答案:

答案 0 :(得分:0)

不确定这是不是你的意思,但是:

$(rss_feed).find("item").each(function(i) {
    if (i <=3) {
            $('select').append('<option value="' + 
            $(this).find('title').text() + '">' + 
            $(this).find('title').text() + '</option>');
    }
});