只得到5件物品

时间:2014-10-02 08:11:46

标签: jquery

我得到了一个XML文件的AJAX调用,很好。 但我只想要第2-6项,而不是全部。 我怎么能这样做?

$(xml).find('item').each(function(){

            var toplist_no = $(this).find('no').text();
            var toplist_user = $(this).find('user').text();
            var toplist_won = $(this).find('won').text();
            var toplist_loose = $(this).find('loose').text();

            $('#toplisttable_' + cno + ' tr:last').after('<tr><td>' + toplist_no + '(' + cno + ')</td><td>' + toplist_user + '</td><td>' + toplist_won + '-' + toplist_loose + '</td></tr>');

});

5 个答案:

答案 0 :(得分:3)

尝试切片:

$(xml).find('item').slice(2,6).each(...

http://docs.jquery.com/Traversing/slice

答案 1 :(得分:2)

你可能只是添加一个计数器?

var counter = 0; 
$(xml).find('item').each(function(){

    // skip first item
    // or items beyond the fifth

    if (counter == 0) {
        counter++; // increase counter
        continue; // skip everything after this statement
    }

    if (counter > 4) {
        // larger then 4
        // we can stop the loop here
        break;
    }

    var toplist_no = $(this).find('no').text();
    var toplist_user = $(this).find('user').text();
    var toplist_won = $(this).find('won').text();
    var toplist_loose = $(this).find('loose').text();

    $('#toplisttable_' + cno + ' tr:last').after('<tr><td>' + toplist_no + '(' + cno + ')</td><td>' + toplist_user + '</td><td>' + toplist_won + '-' + toplist_loose + '</td></tr>');

    counter++;

});

答案 2 :(得分:1)

你可以计算迭代次数:

 k = 0; 

 $(xml).find('item').each(function(){
    if(k <= 5){
      ...do your stuff
    }else {
      return false;//breaks the loop
    }
    k++;
 });

答案 3 :(得分:1)

.filter(function(i){return (i>=2)&&(i<=6)})

之前插入.each

http://www.w3schools.com/jquery/traversing_filter.asp

答案 4 :(得分:0)

注意:您不必定义额外的变量,每个()中的回调函数将索引作为参数.each(function(i){...})