【发布时间】:2020-09-03 20:32:52
【问题描述】:
我对网页设计和 Javascript 都很陌生。在设置我的第一个 Web 应用程序时,我遇到了一个我不理解的错误。它一定是我认为 Javascript 在网页中工作的方式,或者我一般不了解循环的方式。
我正在尝试使用 js 突出显示表格的最佳价值。只要文件在我的 PC 上本地运行,我就会生成随机值并一直按下刷新按钮,直到出现错误。出于调试目的,我现在也使用 console.log 功能,但我仍然不明白这是怎么回事...
非常感谢任何关于这个实际上非常简单的代码可能有问题的提示。
// Best value of the week
var table = document.getElementsByTagName('table')[0];
var bestValue = 0;
var bestRow = 0;
for (var i = 1; i < 22; i++) {
if (table.rows[i].childNodes[5].innerHTML > bestValue){
bestValue = table.rows[i].childNodes[5].innerHTML;
console.log(i);
console.log(table.rows[i].childNodes[5].innerHTML);
console.log(bestValue);
bestRow = i;
}
else{
console.log(i);
console.log(table.rows[i].childNodes[5].innerHTML);
console.log(bestValue);
}
}
table.rows[bestRow].childNodes[5].classList.add('bestofweek');
【问题讨论】:
-
我认为如果您发布了 minimal reproducible example 来表示您的尝试,您会得到更多回复。现在代码太多,无法查看并提供任何帮助。
-
什么是错误?您已经解释了如何重现它,但没有说明问题所在。我看到了代码和屏幕截图,但没有明显错误。有控制台日志,但它们并没有真正帮助我。
-
我将删除我认为对我的问题无用的代码。问题是我期望标记值最高,而 974 绝对不是这个表中最大的数字。
-
您是在比较字符串,而不是整数。 "innerHTML" 返回字符串,而不是数字。只需添加 parseInt。
标签: javascript for-loop html-table