gpt4 book ai didi

javascript - HTML 查找并停止显示表子项

转载 作者:太空宇宙 更新时间:2023-11-04 14:56:50 25 4
gpt4 key购买 nike

我这样做过:

<table id="tabla">
<tbody>
<tr><th>row1</th><td>w</td></tr>
<tr><th>row2</th><td>x</td></tr>
</tbody>
<tbody>
<tr><th>row1</th><td>y</td></tr>
<tr><th>row2</th><td>z</td></tr>
</tbody>
</table>

<script type="text/javascript">
function iterate() {
var table = document.getElementById("tabla").children;
for (b=0; b<table.length(); b++) {
var cells = table[b].children;
if(cells[0].innerHtml == "row1") {
if(cells[1].innerHtml == "w") {
table[b].style.display="none";
}
}
}
}
</script>

我的意图是找到满足条件的表的所有子项并停止显示它们。

我的代码不工作,我不知道为什么。

有人知道吗?

最佳答案

  1. 您的 child table元素是tbody
  2. 没有 length()函数,它是一个属性(只需使用 length )
  3. 没有 innerHtml , 你应该使用 innerHTML
  4. cells[0]你指的实际上是行(而不是单元格)所以它是 innerHTML == <th>row1</th><td>w</td>

这是对您的代码的修复:

function iterate() {
var table = document.getElementById("tabla").children;
for (b=0; b<table.length; b++) {
var rows = table[b].children;
for (r=0; r<rows.length;r++) {
var cells = rows[r].children
if (cells[0].innerHTML == "row1") {
if (cells[1].innerHTML == "w") {
table[b].style.display="none";
}
}
}
}
}

iterate();
<table id="tabla">
<tbody>
<tr><th>row1</th><td>w</td></tr>
<tr><th>row2</th><td>x</td></tr>
</tbody>
<tbody>
<tr><th>row1</th><td>y</td></tr>
<tr><th>row2</th><td>z</td></tr>
</tbody>
</table>

关于javascript - HTML 查找并停止显示表子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40962221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com