Pregunta

Tanto las bibliotecas de JavaScript jQuery como Prototpye se niegan a permitirme usar una variable para seleccionar un elemento de lista por número de índice, aunque aceptan un número codificado.

Por ejemplo, en Prototype esto funciona:

$$('li')[5].addClassName('active');

Pero esto no funcionará por mucho que intente convertir la variable como un número o un entero:

$$('li')[currentPage].addClassName('active');

En jQuery obtengo rarezas similares.Esto funcionará:

jQuery('li').eq(5).addClass("active");

Pero esto no volverá a funcionar aunque el valor de currentPage sea 5 y su tipo sea número:

jQuery('li').eq(currentPage).addClass("active");

Estoy intentando crear un sistema de paginación JavaScript y necesito configurar la clase en el botón de página activa.Los elementos de los elementos de la lista se crean dinámicamente según la cantidad de páginas que necesito.

¿Fue útil?

Solución

Parece que solo necesitaba ser más específico en mi selector de elementos, aunque es extraño que un número codificado funcione.

jQuery('#pagination-digg li').eq(currentPage).addClass("active");

Otros consejos

¿Estás seguro de que currentPage es un numero entero?Pruebe algo como:

var currentPage = 5;
jQuery('li').eq(currentPage);

como un simple control de cordura.Si eso funciona, deberías intentar transmitir a Integer.

Asegúrese de que la variable currentPage tenga el alcance correcto en el código donde se accede a ella.¿Se podría cambiar la variable en algún otro lugar del código antes de acceder a ella?Herramientas como insecto de fuego puede ayudarlo a agregar un punto de interrupción en el punto de ejecución y ver el valor de su variable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top