2011-02-15 36 views

Respuesta

230

Normalmente se selecciona identificadores utilizando el selector de ID #, pero con los resultados más complejos puede utilizar el atributo de starts-con el selector (como jQuery selector, o como un selector CSS3):

div[id^="player_"] 

Si puedes modificar ese HTML, sin embargo, debes agregar una clase a tu jugador div s y luego apuntar a esa clase. Perderá la especificidad adicional ofrecida por los selectores de ID de todos modos, ya que los selectores de atributos comparten la misma especificidad que los selectores de clase. Además, solo usar una clase hace las cosas mucho más simples.

+0

¿Este selector en CSS funciona en navegadores más antiguos como ie8 y ie9, y si no es así, la alternativa? – Jim

+1

@Jim: Sí, funciona. – BoltClock

+0

Es muy compatible: echa un vistazo a quirksmode: http://www.quirksmode.org/css/selectors/#link3 – doub1ejack

79

probar esto:

$('div[id^="player_"]') 
+0

Esta debería ser la respuesta. Muestra cómo implementar realmente la solución en código. Gracias, Prakash! –

22

Puede utilizar caracteres como meta * (http://api.jquery.com/category/selectors/). Así que creo que solo puede usar $('#player_*').

En su caso también se podría tratar el "Atributo comienza con" Selector: http://api.jquery.com/attribute-starts-with-selector/: $('div[id^="player_"]')

+1

En realidad, creo que no puedes usar * $ ('# prefijo \ *') *. Al menos no consigo que funcione ... –

+1

Esto no funciona para mí (en Chrome). – rept

+0

Bueno, creo que no entiende lo que dice la documentación: Para usar cualquiera de los metacaracteres (como '!" # $% & '() * +,./:; <=>? @ [\]^\ '{|} ~') _ ** como una parte literal de un nombre ** _, se debe escapar con dos barras diagonales inversas: \\. Por ejemplo, un elemento con id = "foo.bar", puede usar el selector '$ (" # foo \\. bar ")' –

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

Esto funcionó para me..select todo Div comienza con la palabra clave "players_" y mostrarlo.

Cuestiones relacionadas