我有一个奇怪的问题。我想用javascript创建脚本(或PHP,如果我必须,我只是在javascript中更舒服)通过表读取,直到找到特定文本(知道如何做),然后将文本三个单元格返回到对。
具体来说,我想要一个脚本,在this site上找到特定打印机的行,并返回打印机的状态。我知道如何选择独特的文字,但不是那么多非独特的文字。
答案 0 :(得分:2)
var printerName = 'yourname',
status = $(':contains(' + printerName + ')').siblings().eq(2).text();
答案 1 :(得分:2)
试试这个
$('.epi-dataTable tr:gt(0) td:first-child:contains("printerName")')
.closest('tr').find('td:eq(4)').text();
答案 2 :(得分:1)
如果我正确地理解了你的问题,那么你就可以使用jQuery来做到这一点:
$("td").filter(function() {
return $(this).text() === yourSeachText;
}).next().next().next().text();
澄清:filter函数将仅选择文本等于搜索文本的列,每次调用next都会返回列的下一个兄弟 - 另一个td
。稍后三次调用,你有你想要的列,所以你可以得到它的文本。
更新:如果您要查询的网站与您的脚本不在同一个域中,您可能也会对this question感兴趣。如果 ,您可以在查询之前将其内容加载到div:
$("#placeholder").load("http://clusters.andrew.cmu.edu/printerstats/", function() {
// The contents were loaded to #placeholder, do your query here
});
如果它不,那么你将不得不以某种方式加载那个html数据,并根据an anwser来解决这个问题,你最好的路线是用PHP做的(或者至少用它来回应你自己的其他网站的内容。