如何收集 table 行显示 == "none"?

How can I collect table row display == "none"?

我在 display:table-rowdisplay:none

中有 table 行

我想收集值 tablerow == "display: table-row" 并在 console.log

中仅显示 display:table-row

但是我的代码没有显示任何东西,因为不满足条件 if

有人可以为我的代码提供建议吗?

tr = document.getElementsByTagName('tr');

for (var i = 0; i < tr.length; i++) {
    if (tr[i].style == "display:table-row") {
        console.log(tr[i])
    }
}
<table>
  <tr style = "display:none">
    <td>Human</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr style = "display:table-row">
    <td>Robot</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr style = "display:table-row">
    <td>Robot</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
</table>

tr[i].style returns 一个对象。您需要使用的是显示器属性。请参阅 'if' 行。

tr = document.getElementsByTagName('tr');

for (var i = 0; i < tr.length; i++) {
    if (tr[i].style.display == "table-row") {
        console.log(tr[i])
    }
}
<table>
  <tr style = "display:none">
    <td>Human</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr style = "display:table-row">
    <td>Robot</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr style = "display:table-row">
    <td>Robot</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
</table>

你已经很接近答案了。您在 if 条件中错过了 .display,我使用 === 而不是 ==

tr = document.getElementsByTagName('tr');

for (var i = 0; i < tr.length; i++) {
    if (tr[i].style.display === "table-row") {
        console.log(tr[i])
    }
}
<table>
  <tr style = "display:none">
    <td>Human</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr style = "display:table-row">
    <td>Robot</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr style = "display:table-row">
    <td>Robot</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
</table>

<script>
const rows = document.querySelectorAll("[style='display:table-row']")  
rows.forEach(row => {    
        console.log(row.getAttribute('style')) // display:table-row
})
</script>