是否可以通过编程方式访问使用分页的 TablePress 表中不同页面的行?

问题描述 投票:0回答:1

我的 WordPress 网站上有一个压桌。我正在单击按钮时使用 JavaScript 执行基于行数据的过滤操作。我通过访问行的类来做到这一点,并且获得第一页的结果。但是,当我单击分页上的“下一步”时,第二页结果不会被操作,因为这些类没有被查询选择器捕获。
这是我的代码供参考:

var table = document.getElementById('table-1');
for (var i = 1; i < table.rows.length; i++) 
{
    var available = table.rows[i].cells[1].innerText;
    if(available==="True")
    {
      console.log("Found")
    }
                
}

在上面的代码中,行数是13,因为分页的当前页面上只有13行可见。我想选择其他页面上出现的表格中的所有行。

如何选择压机中的所有行?甚至第2页和第3页上的行也执行过滤操作?

javascript wordpress pagination tablepress
1个回答
0
投票

页面的 HTML 内容包含表格的所有行。但页面加载后,JavaScript 代码将运行并删除这些行(和表)。然后,动态创建分页看到的表。表被销毁后不可能访问所有初始表行。为此原因;您的代码需要在插件代码之前运行。

<table id="table-1" class="tablepress">
    ...
</table>
...
<script src="path/my-custom-code.js" id="tablepress-backup-js"></script>
<script src="path/jquery.datatables.min.js" id="tablepress-datatables-js"></script>

“my-custom-code.js”的内容将是:

(function ($) {
    // Select table element and clone it
    var originalElement = $('#table-1');
    var clonedElement = originalElement.clone();

    // Change the id attribute
    clonedElement.attr('id', 'table-1-backup');

    // Append the clone to the page and hide it
    clonedElement.hide().appendTo('body');
})(jQuery);

您可以使用此代码备份表的克隆。您可以通过此克隆表访问所有数据。您需要自己进行其他过滤和调节操作。

© www.soinside.com 2019 - 2024. All rights reserved.