2012-09-27 13 views
5

Qualcuno può aiutarmi con la sintassi di quello che sto cercando di fare qui?jQuery selector con "and" and "or"

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

Fondamentalmente ho bisogno la possibilità di selezionare tutti i div che hanno una particolare "data-positiontype" attributo e un token in entrambi i "dati-positiontitle" attributo o l'attributo "data-positiondesc".

+1

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

+0

Ma in realtà, è necessario rivedere [come funzionano i selettori ] (http://api.jquery.com/category/selectors/) – zzzzBov

+0

I selettori jQuery nella maggior parte dei casi sono identici ai selettori CSS. Come lo faresti in css? –

risposta

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

o la semplice:

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

. Filtro() Incredibile! Proprio quello che stavo cercando! – Kyle

2

È impilare i selettori insieme per trovare elementi che corrisponde sia, e utilizzare il , combinatore tra i selettori:

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