我可以使用Firebug控制台在本地删除网站上的表格单元格吗?

时间:2015-06-13 22:55:00

标签: javascript html css firefox firebug

背景:我正在尝试从搜索引擎中的表格中提供的列表中选择大学课程。如果有前缀,搜索引擎仅识别后缀,即 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();
        }   
    }
}

我的伪代码可能非常无效,但它旨在让您对我想做的事情有一个大概的了解。

2 个答案:

答案 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

这样做,代码将在页面的上下文中执行。