0

我有一张桌子。现在我克隆了它。当我使用 tablesorter 时,它说不能在类型对象上使用它。

那么,我怎样才能将它转换为对象。

var clonedTable = $('#originalTable').clone(); 
$(clonedTable).tablesorter({ 
widgets: ['zebra'],  
headers: { 
 0:{sorter:false}, 
 1:{sorter:false},
 2:{sorter:false},
 3:{sorter:false},
 4:{sorter:false} } 
}); 

在这里,tablesorter 抱怨说:未捕获的类型错误。object[object object] 没有方法 tablesorter

Edit:

深入研究代码......我注意到原因是这一行:

 var clonedTableRows= $('clonedTable tr:gt(0)'); 

看起来 clonedTableRows 是空的……我的语法错了吗?

4

1 回答 1

1

正如@nbrooks 所说,引号不应该在clonedTable变量周围。试试这个:

var clonedTableRows = clonedTable.find('tr:gt(0)');

此外,您正在对未附加到 DOM 的克隆对象初始化插件。将克隆的表追加到某处,然后初始化插件:

var clonedTable = $('#originalTable').clone()
      // remove duplicate ID
      .removeAttr('id')
      // append it whatever you want
      .appendTo('body')
      // now that it's in the DOM, initialize the plugin
      .tablesorter({ 
        widgets: ['zebra'],  
        headers: { 
          0:{sorter:false}, 
          1:{sorter:false},
          2:{sorter:false},
          3:{sorter:false},
          4:{sorter:false}
        } 
      });
于 2012-08-20T21:56:49.380 回答