2016-04-05 5 views
0

Ich habe den folgenden Code Elemente aus einem RSS-Feed abrufen:Einstellen ein max mit jquery zählt jede Funktion

function loadData() 
    { 
     $(xml).find("item").each(function() 
     { 
      var title = $(this).find("title").text(); 
      var description = $(this).find("description").text(); 
      var linkUrl = $(this).find("guid").text(); 
      var link = "<br/>" + "<a href='" + linkUrl + "'class='rssLink button-color' target='_blank'>Read More</a>"; 
      //$('#feedContainer').append('<article id=' + "'rss-item'>" + '<h3>' + title + '</h3><p>' + description + link + '</p>'); 
      $('#feedContainer').append('<article id=' + "'rss-item'>" + '<h3><a href="' + linkUrl + '">' + title + '</a></h3><p>' + description + '</p>'); 
     }); 
    } 

Das Problem ist jedoch, dass das Futter viel zu lang ist, und ich bin nicht sicher, wie Ich kann nur eine bestimmte Anzahl von Elementen anzeigen. Wie kann ich die maximale Anzahl der anzuzeigenden Elemente festlegen?

Antwort

2

Versuchen unter Verwendung eines Zählers:

var max = 100; 
$(xml).find("item").each(function (i) { 
    // i --> zero based counter 
    if (i < max) { 
     // Do your stuff 
    } else { 
    return false; 
    } 
}); 

Beispiel

var max = 5; 
 
$('li').each(function(i) { 
 
    if (i < max) { 
 
    $(this).css('color', 'red'); 
 
    } else { 
 
    return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
    <li>Test</li> 
 
</ul>

+0

der Zähler steigt auf jeder itteration von jeder Funktion – kapantzak

+0

Ja sorry, habe ich gelesen, es zu schnell und bemerkte nicht, meinen Kommentar gelöscht, aber ich denke, man es zum ersten Mal sieht :) – spaceman

+0

Sie ein 'anderes in Betracht ziehen sollten das Hinzufügen return false; 'um die Schleife zu stoppen. sonst läuft es weiter, aber macht nichts. – David784

0

Sie es die Zahl über dem Iterieren reduzieren könnten versuchen, schneiden.

$(xml).find("item").slice(0, 50).each(function() {...