说我有以下几点:
<ul>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>
我将如何使用jQuery选择第一个元素之后的所有子元素?这样我就可以实现:
<ul>
<li>First item</li>
<li class="something">Second item</li>
<li class="something">Third item</li>
</ul>
Answers:
您应该能够使用“ not”和“ first child”选择器。
$("li:not(:first-child)").addClass("something");
根据我对这四种方法的完全不科学的分析,似乎它们之间的速度差异不大。我在包含一系列不同长度的无序列表的页面上运行每个页面,并使用Firebug分析器对它们进行计时。
$("li").slice(1).addClass("something");
平均时间:5.322毫秒
$("li:gt(0)").addClass("something");
平均时间:5.590ms
$("li:not(:first-child)").addClass("something");
平均时间:6.084ms
$("ul li+li").addClass("something");
平均时间:7.831ms
http://docs.jquery.com/Traversing/slice
$("li").slice(1).addClass("something");