如何以编程方式滚动到jQuery DataTable中的特定元素?

时间:2012-09-04 20:02:31

标签: jquery datatables

我有一个分页的jQuery DataTable,我想滚动到一个特定的行。此行可能位于另一页上。我目前正在尝试以下方法:

var scroller = profileTable.fnSettings().nTable.parentNode;                                              
scroller.scrollTo( $('.row_selected'), 1 );

其中profileTable是DataTable。

我想要滚动的行有一个<tr class="row_selected">

我在Chrome的开发者工具中看到的Javascript错误是:

Uncaught TypeError: Object #<HTMLDivElement> has no method 'scrollTo'

我也试过

var scroller = profileTable.fnSettings().nTable.parentNode;                                              
$(scroller).scrollTo( $('.row_selected'), 1 );

有错误:

Uncaught TypeError: Object [object Object]> has no method 'scrollTo'

我试过ScrollTo Plugin 没有运气。有人使用这个jQuery 1.7.2或更高版本的插件吗?

任何移动到DataTable中指定行的示例都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

while(!profileTable.find($("tr.row_selected"))[0]){
    profileTable.fnPageChange( 'next' );
}
$(".dataTables_scrollBody").scrollTop( $("tr.row_selected").offset().top - $(".dataTables_scrollBody").height() );

您必须分页才能找到包含所选行的页面,然后滚动到该页面。