Pergunta

Tanto o jQuery e Prototpye bibliotecas JavaScript recusar-se a permitir-me usar uma variável para selecionar um item da lista elemento pelo número de índice, embora se aceite uma codificado número.

Por exemplo, no Protótipo isso funciona:

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

Mas isso não vai funcionar, não importa como eu tente converter a variável como um número ou um número inteiro:

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

JQuery recebo semelhante estranheza.Isso funcionará:

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

Mas isso não vai funcionar novamente, mesmo que o valor de currentPage é 5 e o seu tipo é o número:

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

Eu estou tentando criar um JavaScript de paginação do sistema, e que eu preciso para definir a classe na página ativa botão.O item da lista de elementos que são criados dinamicamente, dependendo do número de páginas que eu preciso.

Foi útil?

Solução

Parece que eu só precisava ser mais específico na minha elemento seletor embora seja estranho que um disco rígido codificado número iria trabalhar.

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

Outras dicas

Você está certo de que currentPage é um número inteiro?Tente algo como:

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

como uma simples verificação de sanidade.Se isto funcionar, você deve tentar para fundição Integer.

Certifique-se de que o currentPage variável é corretamente com escopo no código onde ele estiver sendo acessado.Poderia a variável ser alteradas em algum outro lugar do código antes de você está acessando?Ferramentas como o Firebug pode ajudá-lo a adicionar um ponto de interrupção no ponto de execução e ver o valor de sua variável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top