Digamos que tengo lo siguiente:
<ul>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>
¿Cómo seleccionaría todos los elementos secundarios después del primero usando jQuery? Entonces puedo lograr algo como:
<ul>
<li>First item</li>
<li class="something">Second item</li>
<li class="something">Third item</li>
</ul>
javascript
jquery
Chris Canal
fuente
fuente
Basado en mi análisis totalmente poco científico de los cuatro métodos aquí, parece que no hay mucha diferencia de velocidad entre ellos. Ejecuté cada uno en una página que contenía una serie de listas desordenadas de diferente longitud y las cronometré usando el generador de perfiles de Firebug.
$("li").slice(1).addClass("something");
Tiempo promedio: 5.322ms
$("li:gt(0)").addClass("something");
Tiempo promedio: 5.590ms
$("li:not(:first-child)").addClass("something");
Tiempo promedio: 6.084ms
$("ul li+li").addClass("something");
Tiempo promedio: 7.831ms
fuente
http://docs.jquery.com/Traversing/slice
$("li").slice(1).addClass("something");
fuente
Una consulta más elegante (seleccione todos los elementos li que están precedidos por un elemento li):
$('ul li+li')
fuente
yo usaría
$("li:gt(0)").addClass("something");
fuente
Esto debería funcionar
$('ul :not(:first-child)').addClass('something');
fuente
Esto es lo que tengo trabajando hasta ahora
$('.certificateList input:checkbox:gt(0)')
fuente
Utilice el método jQuery .not ()
$('li').not(':first').addClass('something');
O
var firstElement = $('li').first(); $('li').not(firstElement).addClass('something');
fuente