如何在分页/搜索后获取jQuery DataTables当前DOM中的行?
获取jQuery DataTables当前DOM显示的行数据(仅当前分页+过滤后的可见行)
要获取DataTables当前页面实际显示的行(而非所有过滤后的行),直接用rows()不带参数会返回所有符合过滤条件的行(比如你遇到的57行),需要用DataTables API的分页限定参数来精准获取当前页可见行:
- 获取当前页可见行的DOM节点:
var currentVisibleNodes = dt.rows({ page: 'current' }).nodes();
- 获取当前页可见行的原始数据对象:
var currentVisibleData = dt.rows({ page: 'current' }).data();
关键说明
rows({ page: 'current' })是DataTables专门用于限定当前分页内可见行的API参数,它会自动基于过滤后的结果集(比如搜索“Tokyo”后的57行),只提取当前分页显示的那部分行(比如5行),完全匹配你要的需求。
如果直接操作DOM(比如$('tbody tr', dt.table().container()))也能拿到节点,但这种方式依赖DOM结构,不如API方法稳定,且无法直接获取绑定的行数据对象,不推荐使用。
内容的提问来源于stack exchange,提问作者User1899289003
相关产品推荐
相关产品推荐

