javascript - JS改变背景颜色需要刷新页面?

标签 javascript css

<分区>


关闭 4 年前

我试图在页面加载后将背景颜色更改为多个表格单元格,具体取决于单元格上的内容。

如果我在我的代码中包含一个警报,那么当我单击“确定”时,页面上会出现颜色。如果我没有它,那么表格单元格不会改变颜色。我假设这是因为警报导致部分页面刷新?还有另一种方法可以做到这一点并强制显示颜色吗?

var cells = document.getElementById("example").getElementsByTagName("td");
        //alert("test - colours appear if I leave this line in");
        for (var i = 0; i < cells.length; i++) {
            if (cells[i].innerHTML == "G") {
                cells[i].style.backgroundColor = "#CCE697";
            }
            else if (cells[i].innerHTML == "A") {
                cells[i].style.backgroundColor = "#FEECA1";
            }
            else if (cells[i].innerHTML == "R") {
                cells[i].style.backgroundColor = "#E32E30";
            }
        }

现已修复!

我更改了我的代码以确保在页面加载完成后发生这种情况:

    function func1() {
        var cells = document.getElementById("example").getElementsByTagName("td");
        //console.log("hello");
        for (var i = 0; i < cells.length; i++) {
            if (cells[i].innerHTML == "G") {
                cells[i].style.backgroundColor = "#CCE697";
            }
            else if (cells[i].innerHTML == "A") {
                cells[i].style.backgroundColor = "#FEECA1";
            }
            else if (cells[i].innerHTML == "R") {
                cells[i].style.backgroundColor = "#E32E30";
            }
        }
    }
    window.onload = func1;

最佳答案

您可能没有在页面完全加载之后执行代码。通过显示警报,脚本的执行被暂停,但加载和呈现页面继续。当您通过按 OK 释放警报对话框并且脚本继续运行时,它已具备所需的所有元素。确保您等待执行直到页面加载完毕。

在这里查看执行此操作的各种方法:What is the non-jQuery equivalent of '$(document).ready()'?

关于javascript - JS改变背景颜色需要刷新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54021141/

上一篇:html - 如何在 CSS 中将文本向右对齐?

下一篇:html - 我正在设置一个带有下拉菜单的菜单栏,但问题是你可以在下面的代码中看到

相关文章:

CSS3 动画 : Number Count Up?

javascript - 将 .css 文件附加到 iframe,以便可以覆盖样式

javascript - ionic 框架问题中的ui-router

javascript - d3.js 图表来绘制二进制数据

javascript - JQuery if-else 跳过第一个有效条件后的所有内容

css - 在CSS打印样式表中,当HTML中的href是相对的时,我可以显示绝对URL吗?

javascript - Html 无法识别 JavaScript(Chrome 扩展)

javascript - 使用 JavaScript 从下拉列表中获取选定的值

html - 在垂直居中后水平居中跨度

css - Django:是否可以将媒体文件(css、javascript 等)附加到 View 类?