2010-08-09 38 views
6

làm cách nào để tôi chỉ chọn phần tử li thứ 3 (hoặc một số khác không thuộc chioce) của tôi với jquery? cho ví dụ: làm cách nào để thay đổi nền của li thứ ba chỉ với jquery. bất kỳ sự giúp đỡ xin vui lòngchỉ chọn li thứ ba

Trả lời

14

làm thế nào để chỉ chọn thứ 3 (

Sử dụng phương pháp eq như thế này:

$('li').eq(2).css('background', 'yellow'); 

Hoặc bạn có thể sử dụng biến thể này của selector :eq lọc:

$('li:eq(2)').css('background', 'yellow'); 

Việc lập chỉ mục bắt đầu từ 0, bạn cần phải xác định 2 để thực sự chọn thứ ba li

Tuy nhiên, nếu bạn muốn chọn tất cả các yếu tố thứ ba, bạn cần phải sử dụng nth-child như thế này:

$('li:nth-child(3n)') 

Chỉ số cho nth-child bắt đầu từ 1.

+0

Ra khỏi tò mò, tôi bị lừa xung quanh một chút với bộ chọn. Khi nó quay ra, sử dụng 'slice' và action và toàn bộ tập hợp wrappet nhanh hơn bằng cách sử dụng' nth-child'. http://www.jsfiddle.net/qbDKN/13/ – jAndy

+0

@jAndy: Đó là công việc thông minh :) – Sarfraz

+0

@jAndy - Tôi nhận được kết quả ngược lại, với 'eq' gần như gấp đôi. Nhớ 'n-child' là một bộ chọn css, và được thực hiện một cách tự nhiên bởi một số trình duyệt. – Kobi

7

Nếu bạn cần thứ ba li trên tất cả các danh sách, sử dụng nth-child:

$('li:nth-child(3)') 
+0

Điều đó sẽ chọn mọi đứa trẻ thứ ba không chỉ – Sarfraz

+0

@Sarfraz - đó sẽ là 'nth-child (3n)' – Kobi

+0

Tôi cho rằng mình bị bỏ phiếu vì Sarfraz đã chỉnh sửa câu trả lời của mình để bao gồm cả tôi, sau khi tuyên bố nó không phải là chính xác. Thời gian tốt. – Kobi

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