javascript - 根据一些参数遍历 HTML 表格

标签 javascript html html-table

我试图通过 for 循环获取我的 HTML 表格的内部文本,但我想以某些参数为基础。下面您将看到我的 HTML 表格的结构:

var Row = document.getElementById("exploreTable");
    var Cells = Row.getElementsByTagName("td");

    l = Cells.length
    var number = 1
    for (var i = 0; i < l; i++, number++ ) {
      console.log(number + ". " + Cells[i].innerText);
    }
<table id="exploreTable">
  <TR>
    <td></td>
    <A name="Explore"></A>
  </TR>
  <tr>
    <td class="ColRow">
      <ul>
        <li>
          <a class="DetailLink" href="...&searchType=subject">
           Labor market
          </a>
          <a class="DetailLink"></a>
        </li>
      </ul>
  </td>
  </tr>
  <tr>
    <td class="ColRow">
      <ul>
        <li>
          <a class="DetailLink" href="....&searchType=subject">
            Sex discrimination in employment.
          </a>
          <a class="DetailLink"></a>
        </li>
      </ul>
  </td>
  </tr>
  <tr>
    <td class="ColRow">
      <ul>
        <li>
          <a class="DetailLink" href="...&searchType=DifferentType">
            Sex discrimination against women.
          </a>
          <a class="DetailLink"></a>
       </li>
      </ul>
  </td>
  </tr>
</table>

我不知道要添加什么,以便我的代码只迭代到带有 ul/li/a 的表 td,该表包含包含以下内容的 href 属性:&searchType=subject。我想获得文本值“劳动力市场”、“就业中的性别歧视”和“对女性的性别歧视”。我正在考虑 document.evaluate,但我还不确定从哪里开始或放置代码。提前致谢!

最佳答案

试试querySelectorAll()Attribute selector

[attr*=value]

Represents elements with an attribute name of attr whose value contains at least one occurrence of value within the string.

var Row = document.getElementById("exploreTable");
var Cells = Row.querySelectorAll("td a[href*='&searchType=subject']");

l = Cells.length
var number = 1
for (var i = 0; i < l; i++, number++ ) {
  console.log(number + ". " + Cells[i].innerText);
}
<table id="exploreTable">
  <tr>
    <td>
      --Ommitted some codes for brevity-- 
   </td>
   <A name="Explore"></A>
  </tr>
  <tr>
    --Ommitted some codes for brevity--
    <td class="ColRow">
      <ul>
        <li>
          <a class="DetailLink" href="...&searchType=subject">
           Labor market -- Philippines
          </a>
          <a class="DetailLink"></a>
        </li>
      </ul>
    </td>
  </tr>
  <tr>
    <td class="ColRow">
      <ul>
        <li>
          <a class="DetailLink" href="....&searchType=subject">
            Sex discrimination in employment -- Philippines.
          </a>
          <a class="DetailLink"></a>
        </li>
      </ul>
    </td>
  </tr>
  <tr>
    <td class="ColRow">
      <ul>
        <li>
          <a class="DetailLink" href="...&searchType=DifferentType">
            Sex discrimination against women.
          </a>
          <a class="DetailLink"></a>
        </li>
      </ul>
    </td>
  </tr>
</table>

关于javascript - 根据一些参数遍历 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56017771/

相关文章:

javascript - 在javascript中的字符串文字之间使用破折号

javascript - jQuery 看不到新创建的对象。如何刷新 DOM 对象列表?

ios - 适用于 iPad 的单页 Web 应用程序?

javascript - Javascript 中所有列 TD 的表行过滤

javascript - 使用动画颜色文本更改前置表格淡入?

javascript - requestAnimationFrame/cancelAnimationFrame的正确使用

javascript - 无法删除补间 (tweenJS)

html - CSS 过滤器在 Firefox 中不起作用

php - 带变量的 Html <A> 链接

javascript - 表格单元格为空时显示警告框