2

我正在自定义一些jQuery插件,但有一条我无法理解的错误消息

        var totHistory=0;
        var positions = new Array();
        $('.someclass').each(function(index){
           var tmp = $(this).val();
           addHistory({id:tmp});
        });

        function addHistory(obj)
        {
            /* Gets called on page load for each comment, and on comment submit */
            totHistory++;
            positions.push(obj.id);
        }

在第一次迭代时.someClass,我收到了这条消息

Cannot call method 'push' of undefined 

有人可以解释为什么吗?

4

1 回答 1

0

您应该positions作为参数发送或在可访问的范围内声明它addHistory。你不应该在没有 var 关键字的情况下声明它,因为这被认为是一种不好的做法。

尝试我的第一个建议,因为这是我唯一可以在不知道其他 js 代码结构的情况下为您提供帮助的建议。

于 2013-09-26T14:12:49.030 回答