我正在尝试编写一个Chrome扩展程序,该扩展程序可以更改具有特定文本内容的div类的背景颜色。理想情况下,我知道您想按元素ID进行搜索,但是我没有这种选择。

本质上,我想用div查找class="noclick work-order-status "元素(尾随空格是有意的),并将这些div的背景色更改为黄色。

这是我尝试过的方法,它的确会使那些div的背景变成黄色,但也会将内部Text更改为我要搜索的文本。

function setColor(element, color) {
    element.style.backgroundColor = color;
}

var elems = document.getElementsByClassName("noclick work-order-status ");
for (i = 0; i < elems.length; ++i) {
    if (elems[i].innerHTML = "Initial Inspection/Work") {
      setColor(elems[i], "yellow");
    }
}

最佳答案

其原因是因为您在if条件下使用赋值运算符。
elems[i].innerHTML = "Initial Inspection/Work"

使用elems[i].innerHTML == "Initial Inspection/Work"将其更改为比较

关于javascript - 如何根据类名称和内部文本更改元素的背景?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59403219/

10-10 14:44