Javascript 根据是否包含某个单词更改多个字符串的背景色?

Javascript 根据是否包含某个单词更改多个字符串的背景色?,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我想检查一串字符串是否有某个单词。如果该类的单个成员具有指定的单词(“不太可能”),则我将背景颜色更改为绿色。如果该类的单个成员没有,则背景色为红色。因此,最终的结果将是一个绿色背景和其他红色背景的类成员的一群 我的代码不起作用 这是我试过的 function colorCoding() { var str = document.getElementsByClassName("colorString").innerHTML; var n = str.inclu

我想检查一串字符串是否有某个单词。如果该类的单个成员具有指定的单词(“不太可能”),则我将背景颜色更改为绿色。如果该类的单个成员没有,则背景色为红色。因此,最终的结果将是一个绿色背景和其他红色背景的类成员的一群

我的代码不起作用

这是我试过的

function colorCoding() {
    var str = document.getElementsByClassName("colorString").innerHTML;
    var n = str.includes("unlikely");
    if (n==true) {
      document.getElementById("colorString").style.backgroundColor = "green";
    } else {
      document.getElementById("colorString").style.backgroundColor = "red";
    }
}
背景色根本没有改变

我试着对每个ID都这样做,但这会花费我很长时间去检查类的每个成员,并根据他们的ID创建一个函数。有什么方法可以对类这样做吗?或者没有类,但仍然对整个集合使用一个函数


谢谢你的帮助

问题在于
document.getElementsByClassName(“colorString”).innerHTML
。您必须包含索引。它应该类似于
document.getElementsByClassName(“colorString”)[0]。innerHTML

document.getElementsByClassName()
返回具有该类名的元素数组

For循环:-

 var i;

 var str = document.getElementsByClassName("colorString");
 for (i = 0; i < str.length; i++) {

    if(str[i].innerHTML.includes("unlikely")) { 
      str[i].style.backgroundColor = "green";
  } else {
  str[i].style.backgroundColor = "red";
}

 }
vari;
var str=document.getElementsByClassName(“colorString”);
对于(i=0;i
那么,我不是必须为班上的每个成员都这样做吗?有没有办法检查一组字符串是否包含某个单词?我明白了,您可以使用
for
loopohhh。我不太熟悉for循环。我将亲自研究这一点,非常感谢,但是你能告诉我如何编写代码吗?更新了解决方案。w3schols和Mozilla开发人员有一些很好的学习资源。非常感谢,这非常有帮助。请尝试使用
document.querySelector
而不是
document.getElementsByClassName()