Обе библиотеки jQuery и Prototpye JavaScript не позволяют мне использовать переменную для выбора элемента списка по номеру индекса, хотя они принимают жестко закодированный номер.
Например, в Prototype это работает:
$$('li')[5].addClassName('active');
Но это не сработает, как бы я ни пытался преобразовать переменную как число или целое число:
$$('li')[currentPage].addClassName('active');
В jQuery я получаю похожую странность. Это будет работать:
jQuery('li').eq(5).addClass("active");
Но это не сработает снова, даже если значение currentPage равно 5, а его тип - число:
jQuery('li').eq(currentPage).addClass("active");
Я пытаюсь создать систему разбивки на страницы JavaScript, и мне нужно установить класс на кнопку активной страницы. Элементы элемента списка создаются динамически в зависимости от количества необходимых мне страниц.

Вы уверены, что currentPage - целое число? Попробуйте что-нибудь вроде:
var currentPage = 5;
jQuery('li').eq(currentPage);
как простая проверка работоспособности. Если это сработает, попробуйте выполнить приведение к Integer.
Убедитесь, что переменная currentPage правильно задана в коде, к которому осуществляется доступ. Можно ли изменить переменную в другом месте кода до того, как вы получите к ней доступ? Такие инструменты, как Firebug, могут помочь вам добавить точку останова в точке выполнения и увидеть значение вашей переменной.
Похоже, мне просто нужно было быть более конкретным в моем селекторе элементов, хотя странно, что жестко закодированный номер будет работать.
jQuery('#pagination-digg li').eq(currentPage).addClass("active");