JQuery不是函数错误

Chr*_*son 3 javascript jquery firebug

在使用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();
});
Run Code Online (Sandbox Code Playgroud)

cas*_*nca 5

如果你这样做alert(pages[x]),你会发现每个pages[x]都是一个DOM元素,而不是一个jQuery对象,这就是为什么你得到的错误pages[x].css不是函数.你可能想做:

$(pages[x]).css('z-index', x);
Run Code Online (Sandbox Code Playgroud)

编辑:即使jQuery允许您访问元素,pages就好像它是一个数组,它不是一个真正的数组对象,所以我怀疑push并且pop也会工作.