我嵌套了两个 for 循环,如下所示。但是内部循环在第一次出现时停止了外部循环。在执行时,下面的代码只给出了灰色的第 13 行,而预期的行为是看到第 13、14 和 15 行的灰色。
var rows = document.getElementsByTagName("tr");
for(var i = 0, max = rows.length;i < max; i++)
{
var cells = rows[i].getElementsByTagName("td");
if (rows[i].cells[4].innerHTML == "Asset Removed")
{
for(var inner = 0, max = rows[inner].cells.length;inner < max; inner++)
{
cells[inner].style.backgroundColor = "grey";
}
}
}
有什么想法吗?
最佳答案
for(var i = 0, max = rows.length;i < max; i++)
for(var inner = 0, max = rows[inner].cells.length;inner < max; inner++)
max
内循环中的变量与外循环中的变量相同,因此会覆盖其值,从而导致 i < max
结束条件变得不可靠。
关于Javascript 内循环在第一次出现时停止外循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24279213/