Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用没有ID或类的DOM遍历表_Javascript_Dom - Fatal编程技术网

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

Javascript 使用没有ID或类的DOM遍历表,javascript,dom,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

以下是基本表格:

<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>

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

例如,我会使用
getElementsByTagName('td')
收集所有6个TDs,但是,我无法读取每个TDs的样式。我无法转换为数组
querySelectorAll('td')
生成了一个空节点列表。我会尝试
table=document.getElementsByTagName('table')
,然后尝试
table.getElementsByTagName('td')
,这会导致“table.getElementsByTagName不是函数”错误。因此,在做了研究并试图了解使用DOM遍历表的最佳方法之后,我被难住了。因为我撞到了墙,所以我正在尝试堆栈溢出。

let sameColors=[…document.queryselectoral('td')].reduce((r,td)=>{
if(td.style.backgroundColor==td.style.color){
r、 推送(td.textContent);
}
返回r;
},[]);
控制台日志(sameColors)

Q
Y
A.
Q
M
O

PSA:如果您提供了您尝试过的内容和失败的内容,这将对我们有所帮助。如果你不考虑这一点,我们有理由对此感到惊讶,并可能促使进行更多的研究。你的最后一段有一些很好的信息。添加一个显示实际问题的。根据您的描述,我猜您是在DOM中的元素可用之前执行脚本的:我不明白。我的电脑有问题吗?当我尝试
document.querySelectorAll('td')
时,我得到了空的节点列表。我还尝试了
let color=[…document.querySelectorAll('td')-数组为空。最后,我只是复制并粘贴到我的代码中,console.log显示为空数组。@Tamer确保在DOM完全加载后执行操作。