2012-02-02 78 views
10
<div class="box"></div> 
<div class="box"></div> <!-- Hide --> 
<div class="box"></div> <!-- Hide --> 
<div class="box"></div> <!-- Hide --> 

Tôi cần ẩn tất cả div này nhưng không phải div đầu tiên.Chỉ xóa phần tử đầu tiên khỏi lựa chọn jquery

tôi có thể làm một cái gì đó như thế này:

jQuery('.box').hide(); 
jQuery('.box').first().show(); 

Có cách nào để loại bỏ các .box đầu tiên từ mảng trước .hide() em?

+0

Performance so sánh các câu trả lời nộp: http: // jsperf. com/remove-only-the-first-element-from-a-jquery-selection – zch

Trả lời

30
jQuery('.box').slice(1).hide() 
+0

1, cách tốt nhất để đi (và 'slice' là một tính năng chưa được sử dụng). –

+3

+1 cho giải pháp đơn giản. Chú ý: "Có cách nào để loại bỏ ** đầu tiên ** ...", nếu bạn muốn loại bỏ ** đầu tiên ** bạn phải sử dụng '.slice (0)'. :-) –

+7

@John để xóa phần tử đầu tiên khỏi bộ jquery bạn cần sử dụng slice (1) không slice (0), phương thức slice sử dụng chỉ mục dựa trên zero nhưng lát mới được cắt xén trước chỉ mục. Vì vậy, slice (1) cắt tập _before_ phần tử với chỉ mục 1 (tức là trước phần tử thứ 2) có hiệu lực loại bỏ phần tử đầu tiên. slice (0) cắt trước phần tử đầu tiên để nó chỉ trả về toàn bộ tập gốc. – metatron

10
jQuery('.box:not(:first)').hide(); 

http://jsfiddle.net/8wMFc/

+0

Tôi muốn nói * this * là câu trả lời rõ ràng nhất của bó –

1
jQuery('.box').not(':eq(0)').hide(); 

Điều đó nói rằng, tôi thích giải pháp dư Envy của.

1

thử:

jQuery('.box:gt(0)').hide(); 
+0

gt = lớn hơn? – dynamic

+0

@ yes123 yep .... –

6

thử

jQuery('.box').not(':first').hide(); 

so sánh:

@TJCrowder là đúng mã tôi đã đề nghị thực hiện các phân tích cú pháp bổ sung mà có thể tránh được bằng cách .slice như được đề xuất bởi @zch

HERE là thông tin về mã của tôi (0.8ms)HERE là tiểu sử của @ zch của mã (0.53ms) thấy sự khác biệt

+0

Tôi nghi ngờ nếu chấp nhận câu trả lời hoặc câu trả lời zch của bạn bằng slice (1) – dynamic

+0

Tôi tin đây là mã dễ đọc nhất, tôi sẽ chấp nhận điều này. – dynamic

+0

@ yes123: Nhược điểm của việc phân tích cú pháp và áp dụng bộ chọn khi thực sự không cần một cái búa lớn. Nhưng trừ khi bạn đang ở trong một vòng lặp thực sự chặt chẽ làm điều này hàng ngàn lần, nó không giống như nó quan trọng. :-) –

Các vấn đề liên quan