使用没有ID或类的DOM遍历表

  • 本文关键字:DOM 遍历 ID javascript dom
  • 更新时间 :
  • 英文 :


以下是基本表:

<table>
<tbody>
<tr>
<td style="color: #ff00ff; background-color: #ffffff">Q</td>
<td style="background-color: #442244; color: #442244">Y</td>
<td style="color: #ffff00; background-color: #442244">A</td>
</tr>
<tr>
<td style="color: #ffeefe; background-color: #990000">Q</td>
<td style="color: #ffff00; background-color: #ff0">M</td>
<td style="color: #000000; background-color: #ff7777">O</td>
</tr>
</tbody>
</table>

我试图收集每个TD的颜色和背景颜色的值,以比较它们是否匹配。然而,在没有ID或Class的情况下,我很难使用DOM遍历表。如有任何建议,我们将不胜感激!!

例如,我会使用getElementsByTagName('td')来收集所有6个TD,但是,我无法根据其风格来解读每个TD。我无法转换为数组。CCD_ 2生成了一个空的NodeList。我将尝试CCD_ 3然后CCD_;table.getElementsByTagName不是函数";错误所以,在做了研究并试图了解使用DOM遍历表的最佳方法之后,我被难住了。既然我撞到了墙,我就试着用stackoverflow。

let sameColors = [...document.querySelectorAll('td')].reduce((r,td)=>{
if (td.style.backgroundColor===td.style.color) {
r.push(td.textContent);
}
return r;
},[]);
console.log(sameColors);
<table>
<tbody>
<tr>
<td style="color: #ff00ff; background-color: #ffffff">Q</td>
<td style="background-color: #442244; color: #442244">Y</td>
<td style="color: #ffff00; background-color: #442244">A</td>
</tr>
<tr>
<td style="color: #ffeefe; background-color: #990000">Q</td>
<td style="color: #ffff00; background-color: #ff0">M</td>
<td style="color: #000000; background-color: #ff7777">O</td>
</tr>
</tbody>
</table>

最新更新