背景:我正在尝试从搜索引擎中的表格中提供的列表中选择大学课程。如果有前缀,搜索引擎仅识别后缀,即 COSC3 或 COSC350 。 3 或 350 不会返回任何结果。
我想知道的是,是否可以使用Firefox的Firebug来解析一个控制台命令,该命令将删除所有不包含100级纸张的表格行。
伪代码:
string regex = [A-Z]{4};
for each(tr) {
for each(td) {
if(!td.contains(regex + "1") {
tr.delete();
}
}
}
我的伪代码可能非常无效,但它旨在让您对我想做的事情有一个大概的了解。
答案 0 :(得分:0)
是的,这是可能的。
您的伪代码中概述了一般概念。需要注意的唯一棘手的事情是,当在“实时”HTMLCollection上操作时,你不能像数组那样循环它们。
// get all rows
var table = document.getElementById('my-table');
var trs = table.getElementsByTagName("tr");
// go through each row
var i = 0;
while (i < trs.length) {
var tds = trs[i].getElementsByTagName("td");
var deleted = false;
// go through each cell of this row
var j = 0;
while (j < tds.length) {
if (/[A-Z]{4}1/.test(tds[j].textContent)) {
// delete this row
trs[i].parentNode.removeChild(trs[i]);
deleted = true;
break;
} else {
j++;
}
}
if (!deleted) {
i++;
}
}
<p>The table below should not show any rows containing XXXX100 series courses.</p>
<table id="my-table" cellspacing="0">
<tr>
<td>COSC123</td>
<td>COSC456</td>
<td>COSC789</td>
</tr>
<tr>
<td>ABCD123</td>
<td>EFGH124</td>
<td>IJKL125 <span>span</span></td>
</tr>
<tr>
<td>MNOP233</td>
<td>QRST294</td>
<td>UVWX297</td>
</tr>
<tr>
<td>COSC333</td>
<td>COSC394</td>
<td>COSC397</td>
</tr>
<tr>
<td>ABCD3000</td>
<td>ABC3456</td>
<td>*COSC1997</td>
</tr>
</table>
答案 1 :(得分:0)
要使用Firebug在网站上运行JavaScript代码,您可以将其输入到Command Editor,然后点击运行按钮或pressing Ctrl/⌘ + Enter。
这样做,代码将在页面的上下文中执行。