从另一页上的特定表格单元格中选择文本


Select text from a specific table cell on another page?

我有一个奇怪的问题。我想用javascript(或者PHP,如果必须的话,我只是用javascript更舒服)创建脚本,它可以读取一个表,直到它找到特定的文本(知道如何做到这一点),然后将文本返回到右边的三个单元格。

具体来说,我想要一个脚本,它可以在这个网站上为特定的打印机找到一行,并返回打印机的状态。我知道如何选择唯一文本,但不太了解非唯一文本。

试试这个

$('.epi-dataTable tr:gt(0) td:first-child:contains("printerName")')
.closest('tr').find('td:eq(4)').text();
var printerName = 'yourname',
    status = $(':contains(' + printerName + ')').siblings().eq(2).text();

如果我正确理解你的问题,这就是使用jQuery:的方法

$("td").filter(function() { 
    return $(this).text() === yourSeachText;
}).next().next().next().text();

澄清:filter函数将只选择文本等于搜索文本的列,并且每次调用next都将返回该列的下一个同级——另一个td。三次调用后,您就有了所需的列,因此可以获取其文本。

更新:如果您查询的网站与您的脚本不在同一个域中,您可能也对此问题感兴趣。如果,您可以简单地在查询之前将其内容加载到div中:

$("#placeholder").load("http://clusters.andrew.cmu.edu/printerstats/", function() {
    // The contents were loaded to #placeholder, do your query here
});

如果是而不是,那么您将不得不以某种方式加载html数据,根据该问题的答案,您的最佳途径实际上是用PHP进行加载(或者至少使用它将其他网站的内容回声到您自己的网站)。