2012-09-27 31 views
5

Ai đó có thể giúp tôi với cú pháp của những gì tôi đang cố gắng làm ở đây không?Bộ chọn jQuery có "và" và "hoặc"

jQuery('(div[data-positiontype="3"]) && (div[data-positiontitle*="test"] || div[data-positiondesc*='test'])') 

Về cơ bản tôi cần có khả năng để chọn tất cả các div rằng có một đặc biệt "dữ liệu positiontype" thuộc tính và một mã thông báo trong một trong hai "dữ liệu positiontitle" thuộc tính hay "dữ liệu positiondesc" thuộc tính.

+1

'$ ('div [ data-positiontype = "3"] ') .bộ lọc (' [data-positiontitle * = "test"], [data-positiondesc * = "test"] ') ' – zzzzBov

+0

Nhưng thực sự, bạn cần xem lại [cách bộ chọn làm việc ] (http://api.jquery.com/category/selectors/) – zzzzBov

+0

Bộ chọn jQuery trong hầu hết các trường hợp giống hệt với bộ chọn css. Làm thế nào bạn sẽ làm điều này trong css? –

Trả lời

10
$('div[data-positiontype="3"]').filter('[data-positiontitle*="test"], [data-positiondesc*="test"]'). 

hoặc đơn giản:

$('div[data-positiontype="3"][data-positiontitle*="test"], div[data-positiontype="3"][data-positiondesc*="test"]'). 
+0

.filter() Tuyệt vời! Chỉ cần những gì tôi đang tìm kiếm! – Kyle

2

Bạn ngăn xếp các selectors với nhau để tìm các yếu tố phù hợp với cả hai, và sử dụng , combinator giữa selectors:

jQuery('div[data-positiontype="3"][data-positiontitle*="test"],div[data-positiontype="3"][data-positiondesc*="test"]') 
Các vấn đề liên quan