2010-03-07 23 views
24

Tôi dường như không thể nhìn thấy rừng cho cây ngay bây giờ (Đã xem tài liệu api).
Nó phải làm với bộ chọn jQuery: Những gì tôi đang cố gắng làm là chọn tất cả các phần tử có lớp subtitle hoặc headsection. Một cái gì đó như thế này: $('.headsection || .subtitle');Bộ chọn jQuery: hợp lý HOẶC

Cụ thể hơn: Tôi muốn sử dụng công cụ chọn này với hàm nextUntil.

$content = $some_elements.eq(0).nextUntil('.headsection || subtitle'); 

Theo như tôi biết || không có sẵn trong bộ chọn của jQuery. Vậy cách tốt nhất để thực hiện điều đó là gì?

Cảm ơn sự giúp đỡ của bạn!

Trả lời

25

Điều gì về: $some_elements.eq(0).nextUntil('.headsection, .subtitle');

Làm việc cho tôi ít nhất. Đọc về multiple selectors.

+0

OMG có, mà làm việc. Khi tôi xem qua các tài liệu, tôi nghĩ rằng dấu phẩy sẽ hoạt động giống như AND. Cảm ơn @all – RamboNo5

+0

@ RamboNo5 Tôi đã suy nghĩ chính xác cùng một suy nghĩ logic về việc thêm || nhưng suy nghĩ về nó, làm thế nào css hoạt động, tại sao trên trái đất tôi đã không ban đầu nghĩ rằng comma haha ​​ –

4

Chỉ cần tách chúng bằng dấu phẩy:

$content = $some_elements.eq(0).nextUntil('.headsection, subtitle'); 
46

Nó giống như trong bộ chọn CSS:

$('.headsection, .subtitle'); 
+4

Đôi khi câu trả lời rõ ràng là một trong những quyền. –

4

Bạn không thực sự cần OR hợp lý như vậy, $('.headsection, .subtitle') sẽ thực hiện công việc.

3

jQuery sử dụng cú pháp bộ chọn CSS, vì vậy nếu bạn biết điều đó, chỉ cần đặt cùng một bộ chọn vào jQuery và bob là chú ẩn dụ của bạn. jQuery sử dụng động cơ sizzle selector mà hỗ trợ hầu như tất cả các selectors CSS3 :)

Như mọi người đã biết - cách để làm điều đó là thế này: $content = $some_elements.eq(0).nextUntil('.headsection, subtitle');