0

我正在解析 rss 提要并显示它,但它只显示一条记录。我正在使用以下 javascript 。请让我知道如何在一个 div 中显示所有记录?

  <script type="text/javascript">
$(document).ready(function () {
  $.get("http://www.footballfriendsonline.com/blogs/rss.xml", function (data) {
  $(data).find('item').each(function(i){
   var title = $(this).find('title').text();
    var container=$(this).find('description').text();
     var img_url = $('img',container).attr('src');
     var url=$(this).find('link').text();

   var result='<li><a href="'+url+'" target="_blank"><span>'+title+'</span><span><img src="'+img_url+'" width="154" height="115"></span></li>';
 $("#new_widget").html(result);
  });
   });
  });
   </script>
   <div id="new_widget"></div>
4

3 回答 3

1

使用append而不是html

html清除 div 的前一个 html 这就是为什么你会得到最后一个提要

像这样

$("#new_widget").append(result);

代替

$("#new_widget").html(result);
于 2012-10-27T05:19:55.273 回答
0

您似乎通过在 $.each 循环内调用它来覆盖您的 html...您需要在循环外调用它..

$("#new_widget").html(result);

试试这段代码

$(document).ready(function() {
    $.get("http://www.footballfriendsonline.com/blogs/rss.xml", function(data) {
        var result = '';
        $(data).find('item').each(function(i) {
            var title = $(this).find('title').text();
            var container = $(this).find('description').text();
            var img_url = $('img', container).attr('src');
            var url = $(this).find('link').text();

            result += '<li><a href="' + url + '" target="_blank"><span>' + title + '</span><span><img src="' + img_url + '" width="154" height="115"></span></li>';

        });
        $("#new_widget").html(result);
    });
});​
于 2012-10-27T05:23:05.727 回答
0

你的脚本有两个问题。首先,每个循环结果都会覆盖前一个。其次,您将 li 元素附加到 div,而您应该将它们附加到 ol 或 ul 元素。

例如:

<script type="text/javascript">
var result="";
$(document).ready(function () {
$.get("http://www.footballfriendsonline.com/blogs/rss.xml", function (data) {
$(data).find('item').each(function(i){
...
result+='<li><a href="'+url+'" target="_blank"><span>'+title+'</span><span><img src="'+img_url+'" width="154" height="115"></span></li>';
});
$("#new_widget").html(result);
});
});
</script>
<ul id="new_widget"></ul>
于 2012-10-27T05:32:35.963 回答