在initialize()
函数里面有一个jQuery each
循环。在那个循环中,对this.dbcolumns
的引用显然不起作用,因为jQuery已经将当前循环元素重新分配为this
。那么我如何从循环内部引用this.dbcolumns
?它在循环外工作正常。jQuery这个每个循环里面
function datatable() {
this.url = '';
this.htmltable = '';
this.dbtable = '';
this.dbcolumns = new Array();
this.idfield = 'id';
this.pageno = 0;
this.pagesize = 15;
this.totalpages = 0;
this.totalrecords = 0;
this.searchterm = '';
this.initialize = function() {
this.dbtable = $(this.htmltable).attr('data-table');
this.dbcolumns.push(this.idfield);
$(this.htmltable + ' th[data-field]').each(function(i, col){
this.dbcolumns.push($(col).attr('data-field')); /* <<<<<<<<<< this line */
});
return this;
}
}
'va r that = this' then use'that' ... – gdoron
备注:函数表达式应该有一个尾随分号。 – pimvdb
谢谢pimvdb。会做:) – Christian