jquery - obteniendo los siguientes 6 resultados

Tengo la siguiente lista

<li>option 1</li>
<li>option 2</li>
<li>option 3</li>
<li>option 4</li>
<li>option 5</li>
<li>option 6</li>
<li class="hidden">option 7</li>
<li class="hidden">option 8</li>
<li class="hidden">option 9</li>
<li class="hidden">option 10</li>
<li class="hidden">option 11</li>
<li class="hidden">option 12</li>
<li class="hidden">option 13</li>

<a href="">My Link</a>

I would like a function that when the link is clicked, the first six list items with the class "hidden" will remove that class and display on screen.

Cualquier ayuda se agradece.

James

preguntado el 08 de noviembre de 11 a las 13:11

2 Respuestas

Puede utilizar el :lt() selector:

$("li.hidden:lt(6)").removeClass("hidden").show();

Or, alternatively, the rebanada() method, which is better if the number of items to match can vary:

var itemCount = 6;
$("li.hidden").slice(0, itemCount).removeClass("hidden").show();

respondido 08 nov., 11:17

Excellent, thank you. Is there a way I can also tell when there are no more hidden list items? - twsJames

Sí, $("li.hidden").length se mostrarán 0 si no hay <li> elementos con el hidden clase, y $("li:hidden").length se mostrarán 0 si no hay <li> elements that are actually hidden. - Frédéric Hamidi

usar JQuery lt to filter the results -

$("a").click(function(){
    $("li.hidden").lt(6).removeClass("hidden").show();
});

respondido 08 nov., 11:17

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.