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()