javascript - 当字符串匹配所需文本时向元素添加 CSS 类 - JavaScript
问题描述
我已经开始学习 JavaScript 中的正则表达式。尽管有很多关于匹配字符等的教程,但我似乎无法弄清楚如何使 HTML 字符串成为我可以匹配的东西?
我想创建一个 if 语句,以便当字符串匹配我想要匹配的内容时,我可以将 CSS 类添加到导航菜单项。
在下面的代码中console.log(termName[i].textContent)
显示了字符串本身,但是如果锚点具有.textContent
“营销”,我如何使用正则表达式(或字符串方法)将 CSS 类添加到菜单项?
代码笔: https ://codepen.io/emilychews/pen/abOJMwa
谢谢,
艾米丽
var termName = document.querySelectorAll('.single-news-cat a'),
menuItem = document.getElementsByClassName('menu-item-1') [0]
for (i = 0; i < termName.length; i+=1) {
// shows strings in console
console.log(termName[i].textContent)
// pseudo code for matching
if (termName[i].textContent == 'Marketing') {
menuItem.classList.add('active')
}
}
body {
margin: 0;
display: flex;
height: 100vh;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%
}
.single-news-cat {
margin-top: 3rem;
}
.menu-item-1.active {
color: red;
}
<div class="menu-item menu-item-1">Dev</div>
<div class="single-news-cat">
<a href="#">Marketing</a>
<a href="#">Design</a>
</div>
解决方案
尝试使用包含。
if (termName[i].textContent.includes('Marketing')) {
menuItem.classList.add('active')
}
推荐阅读
- python - Python Reportlab ecc200datamatrix 条码类型。由于找不到属性而无法生成
- javascript - 如何在函数中返回引用对象的名称?
- windows - HttpListener (.NET Core) 不适用于 windows docker 上的 https
- python - python中的%符号是什么意思
- javascript - createUserWithEmailAndPassword VUEJS 错误更新用户配置文件
- go - 我可以使用锁来确保指令顺序吗?
- python - 具有多个通配符 URI 的 BigQuery 提取到 GS 会提供 EMPTY blob
- node.js - 为什么 npm start 错误创建反应应用程序
- azure - Azure CLI - az storage blob delete-batch 模式
- typescript - 在 vue cli 生产构建中禁用 https