2013-09-22 28 views
6

Tôi có một bảng có 5 cột trong div với Id. Tôi muốn thêm trình xử lý nhấp chuột bằng Jquery trên cột 2, 3 và 5. Tôi có thể làm điều gì đó như thế nàyCSS nhiều phần tử con không có mẫu vào một bộ chọn

$('#myDiv td:nth-child(2), #myDiv td:nth-child(2n+3)').click(function(){ 
    alert('clicked'); 
}); 

Tôi đang tự hỏi có cách nào khác hay tốt hơn để kết hợp hai đứa trẻ thứ hai này lại với nhau.

+0

Bạn đang cố gắng để làm với '2n + 3'? – Itay

+0

lấy cột thứ 3 và thứ 5 – KhanSharp

+0

Điều này sẽ trả về mọi phần tử thứ hai bắt đầu từ phần tử thứ ba. 3, 5, 7, 9, v.v. – Itay

Trả lời

14

Đây có lẽ là cách tốt nhất:

$('#myDiv td').filter(':nth-child(2), :nth-child(3), :nth-child(5)')... 

Có một cách ngắn hơn nhưng tôi không khuyên bạn nên nó bởi vì nó thực sự kết hợp với DOM (giả sử bạn chỉ có 5 yếu tố như bạn nói trong các ý kiến).

$('#myDiv td:not(:nth-child(3n - 5))')... 

jsFiddle Demo

+1

Tôi nhận được quan điểm của bạn nhưng câu hỏi của tôi là về nth-child. nhiều mục. – KhanSharp

+1

Điều này trả lời câu hỏi của bạn. Không có cách nào để làm điều này với một: nth-con chọn. Ngay cả khi có một tính toán phức tạp mà sẽ trả về 2,3,5 nó không được khuyến khích vì nó thực sự không thể đọc được và kết hợp với cấu trúc HTML – Itay

+0

cảm ơn bạn rất nhiều vì câu trả lời – KhanSharp

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