jQuery和Prototype Selector Madness

rsr*_*ins 3 jquery addclass css-selectors prototypejs

jQuery和Prototpye JavaScript库都拒绝允许我使用变量来按索引号选择列表项元素,尽管它们接受硬编码的数字.

例如,在Prototype中,这有效:

$$('li')[5].addClassName('active');
Run Code Online (Sandbox Code Playgroud)

但无论我如何尝试将变量转换为数字或整数,这都行不通:

$$('li')[currentPage].addClassName('active');
Run Code Online (Sandbox Code Playgroud)

在jQuery中我得到了类似的怪异.这将有效:

jQuery('li').eq(5).addClass("active");
Run Code Online (Sandbox Code Playgroud)

但即使currentPage的值为5且其类型为数字,这也不会再次起作用:

jQuery('li').eq(currentPage).addClass("active");
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个JavaScript分页系统,我需要在活动页面按钮上设置类.列表项元素是根据我需要的页数动态创建的.

Joh*_*kin 5

你确定这currentPage是一个整数吗?尝试类似的东西:

var currentPage = 5;
jQuery('li').eq(currentPage);
Run Code Online (Sandbox Code Playgroud)

作为一个简单的理智检查.如果有效,你应该尝试施放Integer.


use*_*601 2

看起来我只需要在元素选择器中更加具体,尽管硬编码数字可以工作很奇怪。

jQuery('#pagination-digg li').eq(currentPage).addClass("active");
Run Code Online (Sandbox Code Playgroud)