使用此函数,您可以获得传递列索引的列元素:
/**
*
* @param {Object} table: the table dom selector
* @param {indexColumn} number: start count with 0
* @returns Array with the column element selected by index column
*/
function getColumnElementsByIndexColumn(table, indexColumn) {
const tableRows = table.querySelectorAll("tr");
let columnElements = [];
for (row of tableRows) {
let columnElement = row.children[indexColumn];
columnElements.push(columnElement);
}
return columnElements;
}
问题案例,列索引为1表示第二列):
<table>
<tr>
<th>name A(optional)</th>
<th>name B</th>
<th>name C</th>
</tr>
<tr>
<td>name 1A(optional)</td>
<td>name 1B</td>
<td>name 1C</td>
</tr>
<tr>
<td>name 2A(optional)</td>
<td>name 2B</td>
<td>name 2C</td>
</tr>
</table>
<script>
const table = document.querySelector("table");
let secondColumnELements = getColumnElementsByIndexColumn(table, 1);
console.log(secondColumnELements[0].innerText); // name B
console.log(secondColumnELements[1].innerText); // name 1B
console.log(secondColumnELements[2].innerText); // name 2B
</script>
现在,您可以使用 Javascript 在此元素中应用 css 类