jQuery:" class"与对象数组

时间:2015-12-16 02:42:11

标签: javascript jquery

我第一次尝试在jQuery中创建一个类,但是出了点问题。 这是我的代码的一部分:

$.Tables.prototype = {
    lineColor: 1,
    items: [],

    mountTable: function(ObjItems) {
        trClass = ((this.lineColor%2) == 0) ? 'even' : 'odd';
        html = '<tr role="row" class="' + trClass + '">';

        $.each(ObjItems, function(key, val) {
            html += '<td>' + val + '</td>';
        });

        html += '</tr>';

        this.lineColor++;
        this.items.push(ObjItems); console.log(this.items);

        return html;
    }
}

控制台返回一个空数组,我不明白为什么。 但如果我使用&#34; push&#34;两次,它有效:

$.Tables.prototype = {
    lineColor: 1,
    items: [],

    mountTable: function(ObjItems) {
        trClass = ((this.lineColor%2) == 0) ? 'even' : 'odd';
        html = '<tr role="row" class="' + trClass + '">';

        $.each(ObjItems, function(key, val) {
            html += '<td>' + val + '</td>';
        });

        html += '</tr>';

        this.lineColor++;
        this.items.push(ObjItems);
        this.items.push(ObjItems);
        console.log(this.items);

        return html;
    }
}

有人有这样的想法吗?

- 非常感谢

1 个答案:

答案 0 :(得分:0)

我认为解决了创建init方法的问题。

init: function() {
    this.items = [];
},

并在声明后调用方法:

var table = new $.Tables();
table.init();

感谢。