有一个表格:给定以下 HTML 表格:
<table id="table">
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
</table>
如何使当您单击表格中的任何单元格时,该列的所有单元格都被涂成红色?通过单击一个单元格,我无法同时为列中的所有单元格着色。
let tds = document.querySelectorAll('#table td');
tds.forEach(function(td){
td.addEventListener('click',function(){
if(td.dataset.col==this.dataset.col){
td.style.backgroundColor="red";
}
})
})
所以?
你非常亲近。您只需要第二个 for 循环,或者通过选择器获取所有要着色的元素(例如,[data-col='3'])。
我的算法通过一个for循环: