2012-06-20 34 views
10

Tôi có hai bộ chọn được phân cách bằng dấu phẩy;Kết hợp tất cả các kết hợp của bất kỳ lớp nào trong jQuery

.class, .foo, .bar 

.lorem, .ipsum, .potato 

Tôi muốn có thể chọn bất kỳ kết hợp có thể có nào giữa hai nhóm này. Vì vậy, nó sẽ chọn các yếu tố phù hợp với

.class.lorem 
.class.ipsum 
.class.potato 
.foo.lorem 
.foo.ipsum 
.foo.potato 
.bar.lorem 
.bar.ipsum 
.bar.potato 

Làm cách nào để đạt được điều này một cách hiệu quả?

Trả lời

15

Chọn tất cả các yếu tố với bất kỳ lớp từ tập đầu tiên, và sau đó filter ra các yếu tố mà không có một lớp từ các thiết lập khác:

$('.class, .foo, .bar').filter('.lorem, .ipsum, .potato') 
+0

Đó là quá ngớ ngẩn rực rỡ nó thậm chí không có ý nghĩa . Cảm ơn bạn. –

+1

@EmphramStavanger Bạn được chào đón :) Nếu bạn có số lượng phần tử lớn hơn đáng kể phù hợp với bộ chọn đầu tiên so với phần tử thứ hai, bạn cũng có thể hưởng lợi từ việc chuyển đổi thứ tự thành: '$ ('. Lorem, .ipsum, .potato') .filter ('. class, .foo, .bar') ' – Paulpro

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