2009-08-04 9 views
48

que tiene una estructura de HTML así:jQuery, cómo encontrar la lista de divs con similares Identificación

<div id="triger1">some elements inside</div> 
<div id="triger2">some elements inside</div> 
<div id="triger3">some elements inside</div> 
<div id="triger4">some elements inside</div> 

¿Cómo llego matriz de todos los divs en jQuery con el ID de Triger en ellos (como se puede ver, todos ellos tienen Triger pero diferente numeración por ejemplo. triger1, triger2 etc ...)

Gracias de antemano

Respuesta

93

Usted puede usar la siguiente:

$("div[id^='triger']") 

Esto devolverá todos <div> con id comenzando (^=) con triger.

Puede obtener más información sobre los diversos selectores de jQuery en la documentación de jQuery:

API/Selectors

+0

Gracias. Eso es exactamente lo que estaba buscando. – Dmitris

+1

¿Podemos usarlo para múltiples identificadores con el (^ =). Por ejemplo: para obtener los divs que comienzan con 'trigger' o 'smart'? – Prasad

+5

** @ Prasad: ** ¡Claro! Simplemente use '$ (" div [id^= 'trigger'], div [id^= 'smart'] ")' –

7

en realidad se puede utilizar una expresión regular en un selector para conseguir exactamente lo que está buscando, como tal:

$("div:regex(id, yourRegularExpression)"); 

(Nota: esto requiere el plugin regex-selector)

Alguien hizo una pregunta similar here.

Puede leer todo sobre las expresiones regulares here.

Como otros han señalado, se puede lograr el mismo resultado como este:

$("div[id^='partOfID']"); 

mediante el uso de un selector simple jQuery. Sin embargo, para selecciones más complejas, necesitará usar el regex plugin o hacerlo manualmente, como se indica en el linked question.

buena suerte!

+0

que requiere un filtro personalizado. –

+0

yeup! Ya actualicé la respuesta con el enlace y una forma alternativa para consultas más simples –

3
var trigerList = $("div[id^='triger']"); 
Cuestiones relacionadas