假设我的动态 HTML 看起来像这样:
<table id="DanishCompanies">
<tr><th>Name</th><th>Employees</th><th>Founded</th></tr>
<tr id="19"><td>Company A</td><td>80</td><td>1980</td></tr>
<tr id="17"><td>Company B</td><td>12</td><td>1910</td></tr>
<tr id="26"><td>Company C</td><td>5000</td><td>2015</td></tr>
</table>
<table id="SwedishCompanies">
<tr><th>Name</th><th>Employees</th><th>Founded</th></tr>
<tr id="10"><td>Company D</td><td>500</td><td>1950</td></tr>
<tr id="12"><td>Company E</td><td>900</td><td>1990</td></tr>
<tr id="17"><td>Company F</td><td>90</td><td>2010</td></tr>
</table>
<table id="NorwegianCompanies">
<tr><th>Name</th><th>Employees</th><th>Founded</th></tr>
<tr id="17"><td>Company G</td><td>105</td><td>1970</td></tr>
<tr id="18"><td>Company H</td><td>100</td><td>1980</td></tr>
<tr id="19"><td>Company I</td><td>45</td><td>2000</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
每个 tr 都有一个 ID,但 ID 仅对该表相对唯一,因为其他表可能有该 ID,并且行数可能会有所不同。
如何获取 id 为 17 的瑞典公司的成立年份(第 2 列)?
我想你会这样做,但我找不到正确的代码。
var table = document.getElementById("SwedishCompanies");
var row_index = ??? //should return 2
return table[row_index].cells[2].innerHTML;
Run Code Online (Sandbox Code Playgroud)
我不能仅使用 getElementById 来获取 id“17”,因为我会冒获取丹麦或挪威公司的风险,因为这些表的顺序是随机的。