2012-09-27 23 views
5

¿Alguien puede ayudarme con la sintaxis de lo que trato de hacer aquí?jQuery selector con "y" y "o"

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

Básicamente necesito la capacidad de seleccionar todos los divs que tienen un "-positionType datos" atributo particular y un token en cualquiera de los "datos positiontitle" atributo o el atributo "-positiondesc de datos".

+1

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

+0

Pero en realidad, necesita revisar [cómo funcionan los selectores ] (http://api.jquery.com/category/selectors/) – zzzzBov

+0

Los selectores jQuery son en la mayoría de los casos idénticos a los selectores css. ¿Cómo harías esto en CSS? –

Respuesta

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

o la sencilla:

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

.filter() ¡Increíble! ¡Justo lo que estaba buscando! – Kyle

2

apilar la selectores juntos para encontrar elementos que coinciden ambos, y utiliza el combinador , entre selectores:

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