JQuery не является ошибкой функции - PullRequest
3 голосов
/ 19 августа 2010

При разработке с Firebug я продолжаю получать эту ошибку.

pages [x] .css ("z-index", x) не является функцией

Сама функция работает нормально, ноЯ пытаюсь понять, почему это продолжает помечать это.Функция одновременно реорганизует массив и z-индексы.Могу ли я не получить доступ к переменным массива и вызвать функции для них, как это или это что-то еще?

полный код:

var pages = $("#use-wrapper").children("div");

pages.children("a.right").click(function(event) {
    event.preventDefault();
    $(this).parent("div").css("z-index","0");
    pages.push($(this).parent("div"));

    for(var x = pages.length; x >= 1; --x) {
        pages[x] = pages[x-1];
        pages[x].css("z-index",x);
    }
    pages[0] = pages.pop();
});

1 Ответ

5 голосов
/ 19 августа 2010

Если вы сделаете alert(pages[x]), вы обнаружите, что каждый pages[x] является элементом DOM, а не объектом jQuery, поэтому вы получаете ошибку, что pages[x].css не является функцией. Вы, вероятно, хотите сделать:

$(pages[x]).css('z-index', x);

Редактировать: Несмотря на то, что jQuery позволяет вам обращаться к элементам pages как к массиву, это не настоящий объект массива, поэтому я сомневаюсь, что push и pop будут работать .

...