Select all child elements except the first
Say I have the following:
<ul>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>
How would I select all the child elements after the first one using jQuery? So I can achieve something like:
<ul>
<li>First item</li>
<li class="something">Second item</li>
<li class="something">Third item</li>
</ul>
You should be able to use the "not" and "first child" selectors.
$("li:not(:first-child)").addClass("something");
http://docs.jquery.com/Selectors/not
http://docs.jquery.com/Selectors/firstChild
Based on my totally unscientific analysis of the four methods here, it looks like there's not a lot of speed difference among them. I ran each on a page containing a series of unordered lists of varying length and timed them using the Firebug profiler.
$("li").slice(1).addClass("something");
Average Time: 5.322ms
$("li:gt(0)").addClass("something");
Average Time: 5.590ms
$("li:not(:first-child)").addClass("something");
Average Time: 6.084ms
$("ul li+li").addClass("something");
Average Time: 7.831ms