我试图通过 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/