[javascript] 첫 번째를 제외한 모든 하위 요소를 선택합니다.

다음이 있다고 가정합니다.

<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>



답변

“not”및 “first child”선택기를 사용할 수 있어야합니다.

$("li:not(:first-child)").addClass("something");

http://docs.jquery.com/Selectors/not

http://docs.jquery.com/Selectors/firstChild


답변

여기에서 네 가지 방법에 대한 완전히 비과학적인 분석을 바탕으로 볼 때 속도 차이가 많지 않은 것 같습니다. 다양한 길이의 정렬되지 않은 목록이 포함 된 페이지에서 각각을 실행하고 Firebug 프로파일 러를 사용하여 시간을 측정했습니다.

$("li").slice(1).addClass("something");

평균 시간 : 5.322ms

$("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");


답변

보다 우아한 쿼리 (li 요소가 앞에 오는 모든 li 요소 선택) :


$('ul li+li')


답변

나는 사용할 것이다

$("li:gt(0)").addClass("something");


답변

이것은 작동합니다

$('ul :not(:first-child)').addClass('something');


답변

이것이 내가 지금까지 일한 것입니다.

$('.certificateList input:checkbox:gt(0)')