2010-03-05 24 views
7

Digamos que tengo una variable questionId que es un número entero, y quiero encontrar tr elementos que tienen el fragmento ("question_"+questionId) en su id. ¿Cómo puedo hacer esto? Pensé que podría hacerlo con el jquery 'attribute contains' selector.jquery 'atributo contiene' selector con un valor dinámico

Por ejemplo, esto funciona, por un valor no dinámico,

$("tr[id*='quiz_question_7674']") 

pero, no puedo encontrar la manera de conectar el valor de la variable en ese país. Esto no funciona, por ejemplo:

questionId = 7674; 
$("tr[id*='quiz_question_'+questionId]") 

¿Alguna idea de alguien? ¿Hay una manera mejor que 'atributo contiene' para hacerlo? Tengo la sensación de que me falta algo obvio.

gracias, máximo

EDITAR - resuelto. doh, de hecho me falta algo obvio. Siempre me olvido de que es sólo una cadena, nada más:

$ ("tr [id * = 'quiz_question _ "+ IdPregunta +"']")

Respuesta

13

usted tiene error:

var questionId = 7674; 
$("tr[id*='quiz_question_" + questionId + "']"); 

Notas :

  1. Utilice var para declarar las variables.
  2. preguntaId es una variable. No es parte del selector. Debería concatenar questionId a la cadena.
3

Sí, casi lo tenía:

var selector = "tr[id*='quiz_question_" + questionId + "']"; 
$(selector) 
Cuestiones relacionadas