2012-09-27 18 views
5

Czy ktoś może mi pomóc ze składnią tego, co próbuję tutaj zrobić?selektor jQuery z "i" i "lub"

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

Zasadniczo muszę możliwość wyboru wszystkich div, które mają szczególny „danych positiontype” atrybut i token albo „data-positiontitle atrybutu” lub „data-positiondesc” atrybutu.

+1

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

+0

Ale tak naprawdę, musisz przejrzeć [jak działają selektory ] (http://api.jquery.com/category/selectors/) – zzzzBov

+0

selektory jQuery są w większości przypadków identyczne z selektorami css. Jak zrobiłbyś to w css? –

Odpowiedz

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

lub prosta:

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

.filter() Amazing! Właśnie tego szukałem! – Kyle

2

stos selektory razem, aby znaleźć elementy, które odpowiada zarówno i użyć , COMBINATOR między selektorów:

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