jQuery schaltet das Anzeigen / Verbergen von Elementen nach einer bestimmten Anzahl übereinstimmender Elemente um

Bei der Implementierung der Facettensuche zeige ich alle Optionen, wenn die Anzahl der Optionen 7 oder weniger beträgt. Wenn die Anzahl der Optionen 7 überschreitet, zeige ich nur die ersten 5 und füge einen Link ein, mit dem die Anzeige dieser Optionen umgeschaltet wird.

Meine Frage in diesem Fall ist, wie man in diesem Fall die Liste der übereinstimmenden Elemente durchläuftliDas fällt unter.facet ul, und führen Sie diese Funktion aus. Zweitens muss ich.appendTo() einli am Ende von.facet ul Das zeigt Text basierend darauf an, ob ich alle oder einige zeige oder nicht.

Wenn alles angezeigt wird, soll der Text "... weniger Auswahlmöglichkeiten" lauten. Wenn ich nur wenige zeige, möchte ich, dass der Text "...n Mehr Auswahl".

Ein Push in die richtige Richtung für jede dieser Funktionen oder eine vollständige Erklärung wird sehr geschätzt.

Code unten als Referenz.

    <div class="facet">
  <h4>Brands</h4>
  <ul>
   <li><a class="all" href="#">Really long brand name facet to show what happens with multi-line facets <em>(63)</em></a></li>
   <li><a class="all" href="#">Joe Rocket <em>(57)</em></a></li>
   <li><a class="all" href="#">Icon <em>(42)</em></a></li>
   <li><a class="all" href="#">Fieldsheer <em>(37)</em></a></li>
   <li><a class="all" href="#">Tour Master <em>(21)</em></a></li>
   <li><a class="all" href="#">AGV Sport<em>(21)</em></a></li>
   <li><a class="all" href="#">Alpinestars<em>(21)</em></a></li>
   <li><a class="all" href="#">Cortech<em>(21)</em></a></li>
   <li><a class="all" href="#">Element<em>(21)</em></a></li>
   <li><a class="all" href="#">Fieldsheer<em>(21)</em></a></li>
   <li><a class="all" href="#">Firstgear<em>(21)</em></a></li>
   <li><a class="all" href="#">FMF Apparel<em>(21)</em></a></li>
   <li><a class="all" href="#">Icon<em>(21)</em></a></li>
   <li><a class="all" href="#">Joe Rocket<em>(21)</em></a></li>
   <li><a class="all" href="#">O'Neal Racing<em>(21)</em></a></li>
   <li><a class="all" href="#">Power Trip<em>(21)</em></a></li>
   <li><a class="all" href="#">REV'IT!<em>(21)</em></a></li>
   <li><a class="all" href="#">River Road<em>(21)</em></a></li>
   <li><a class="all" href="#">Rockstar<em>(21)</em></a></li>
   <li><a class="all" href="#">Scorpion<em>(21)</em></a></li>
   <li><a class="all" href="#">Shift Racing<em>(21)</em></a></li>
   <li><a class="all" href="#">Speed and Strength<em>(21)</em></a></li>
   <li><a class="all" href="#">Spidi<em>(21)</em></a></li>
   <li><a class="all" href="#">Teknic<em>(21)</em></a></li>
   <li><a class="all" href="#">Tour Master<em>(21)</em></a></li>
   <li><a class="all" href="#">Troy Lee Designs<em>(21)</em></a></li>
   <li><a class="all" href="#">Vega<em>(21)</em></a></li>
   <li><a class="all" href="#">Yoshimura<em>(21)</em></a></li>
   <li><a class="all" href="#">Z1R<em>(21)</em></a></li>
  </ul>
 </div>

Die Klasse "all" ist hier irrelevant und dient einem anderen Zweck. Fühlen Sie sich frei, es zu ignorieren.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage