slice(start,[end])
从当前匹配元素集合中取出部分元素形成新的元素集合。部分元素从索引‘start’到索引‘end’。‘end’参数可以为空,部分元素将从‘start’取到最后一个元素
大于等于start小于end
start
开始选取子集的位置。第一个元素是0.如果是负数,则可以从集合的尾部开始选起。
end (可选)Integer
结束选取自己的位置,如果不指定,则就是本身的结尾。
在《Learning jQuery》-Better Interaction Design and Web Development with Simple JavaScript Techniques一书中,作者Jonathan Chaffer 和Karl Swedberg 提供的代码中部分函数在新版的jQuery中已经去掉,所以书中提供的分页示例代码无法使用,在国外网站找到解决办法。
原书中分页示例代码,用来显示第一页的10行数据:
$(document).ready(function() {
$('table.paginated').each(function() {
var currentPage = 0;
var numPerPage = 10;
var $table = $(this);
$table.find('tbody tr').show()
.lt(currentPage * numPerPage)
.hide()
.end()
.gt((currentPage + 1) * numPerPage - 1)
.hide()
.end();
});
});
需要将原代码做如下替换,就可以正常进行分页了:
移除.lt(currentPage * numPerPage) 用.slice(0, currentPage * numPerPage)替代...
移除.gt((currentPage + 1) * numPerPage - 1) 用.slice((currentPage + 1) * numPerPage - 1)代替
另外可以把分页处理修改为:
$table.find('tbody tr').hide()
.slice(currentPage * numPerPage, (currentPage + 1) * numPerPage - 1)
.show();
也可达到同样之效果。