4

所以我已经获取并解析了一些数据,我正在使用“每个”来显示它:

$.ajax({
    url      : 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent('http://news.google.com/news?pz=1&cf=all&ned=uk&hl=en&output=rss'),
    dataType : 'json',
    success  : function (data) {
        if (data.responseData.feed && data.responseData.feed.entries) {
            $.each(data.responseData.feed.entries, function (i, e) {
                $('.row').append("<div class=\"threecol\"">title: " + e.title + "<br></div>");
            });
        } 
    }
});

为了让网格正常运行,它需要遵循以下结构:

<div class="container">
    <div class="row">
        <div class="threecol">
        </div>
        <div class="threecol">
        </div>
        <div class="threecol">
        </div>
        <div class="threecol last">
        </div>
    </div>
</div>

所以我的问题是,我将如何对每个语句进行排序并将每 4 个项目放入一个新行并让每个第 4 个项目具有“threecol last”类而不是“threecol”类?

4

1 回答 1

2

在循环之前添加一个计数器$.each,然后添加一些简单的条件以将 插入rows正确的位置,并分配正确的类:

if (c % 4 == 0) { 
  $('<div />').addClass('row').appendTo('.container'); 
}

$('<div />').addClass('threecol')
            .text('title: ' + e.title)
            .appendTo('.row:last');

if (c % 4 == 3) {
  $('.threecol:last').addClass('last');
}

c++;
于 2013-04-05T15:28:09.247 回答