jQuery 和原型(prototype)选择器的疯狂

标签 jquery prototypejs css-selectors addclass

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

例如,在 Prototype 中,这是有效的:

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

但是无论我如何尝试将变量转换为数字或整数,这都不起作用:

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

在 jQuery 中我也遇到了类似的怪事。这将起作用:

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

但是即使 currentPage 的值为 5 并且其类型为 number,这也不会再起作用:

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

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

最佳答案

您确定currentPage是一个整数吗?尝试这样的事情:

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

作为简单的健全性检查。如果有效,您应该尝试转换为Integer

关于jQuery 和原型(prototype)选择器的疯狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40590/

相关文章:

html - 选择除一个元素以外的所有元素

javascript - 使用 jQuery AJAX 调用导出 CSV

javascript - 如何使用 jQuery 或 JavaScript 将一个标签封装在另一个标签中?

javascript - jQuery 确认页面离开

jquery - 在页面加载时加载 Foundation 模式

javascript - 观察 scriptaculous Builder 生成的 <a> 标记上的 'click' 事件

javascript - Ajax请求仅发布部分文本

javascript - 原型(prototype)选择帮助

javascript - 隐藏 kendoMultiSelect 的 headerTemplate

css - 意外的左边框 :none on one element of menu?