我的 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页上的行也执行过滤操作?
页面的 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);
您可以使用此代码备份表的克隆。您可以通过此克隆表访问所有数据。您需要自己进行其他过滤和调节操作。