当字符串与所需的文本匹配时,向元素添加CSS类-JavaScript

当字符串与所需的文本匹配时,向元素添加CSS类-JavaScript,javascript,regex,string,Javascript,Regex,String,我已经开始学习JavaScript中的正则表达式。虽然有很多关于匹配字符等的教程,但我似乎不知道如何使HTML字符串与之匹配 我想创建一个if语句,这样当字符串匹配我想要匹配的内容时,我就可以向nav菜单项添加一个CSS类 在console.log(termName[i].textContent)下面的代码中显示字符串本身,但是如果锚具有“营销”的.textContent,如何使用正则表达式(或字符串方法)将CSS类添加到菜单项中 代码笔: 谢谢 艾米丽 var termName=docume

我已经开始学习JavaScript中的正则表达式。虽然有很多关于匹配字符等的教程,但我似乎不知道如何使HTML字符串与之匹配

我想创建一个if语句,这样当字符串匹配我想要匹配的内容时,我就可以向nav菜单项添加一个CSS类

console.log(termName[i].textContent)
下面的代码中显示字符串本身,但是如果锚具有“营销”的
.textContent
,如何使用正则表达式(或字符串方法)将CSS类添加到菜单项中

代码笔:

谢谢

艾米丽

var termName=document.querySelectorAll('.single news cat a'),
menuItem=document.GetElementsByCassName('menu-item-1')[0]
对于(i=0;i
正文{
保证金:0;
显示器:flex;
高度:100vh;
弯曲方向:立柱;
证明内容:中心;
对齐项目:居中;
宽度:100%
}
.单身新闻猫{
边缘顶部:3rem;
}
.菜单项-1.激活{
颜色:红色;
}
Dev
尝试使用includes

if (termName[i].textContent.includes('Marketing')) {
      menuItem.classList.add('active')
}
这应该对你有帮助

var termName=document.querySelectorAll('.single news cat a'),
menuItem=document.querySelector('.menu-item-1');
对于(i=0;i
它使用regex
test
方法,不区分大小写。

还将
getElementsByClassName
更改为
querySelector

您的选择器有错误menuItem=document.getElementsByClassName('.menu-item-1')[0]`应该是'menuItem=document.getElementsByClassName('menu-item-1')[0]`您需要删除。从菜单0项,因为您不需要它作为选择器。getElementsByClassName已定义selector@NewToJS谢谢,我做了相应的改变。