html - 如果内部文本等于字符串,则使用 CSS 更改特定元素的文本颜色
问题描述
所以我正在编辑这个 FANDOM wiki。
我在这里有这个元素:
<h1 class="page-header__title">Captain</h1>
如您所见,“Captain”将是 Wiki 中的文章名称。每篇文章都有自己的子域链接,并且会使该元素的内部文本不同。
无论如何,如果内部文本等于船长,我是否只能更改元素的 CSS?
希望你知道我想要完成什么。
这是我要完成的示例:
.edit-info-user a[href$="/wiki/User:Potato"]::Before {
content: "( Bureaucrat ) ";
font-size: 9px;
color: #f00;
letter-spacing: 0.5px;
}
如您所见,如果链接等于“/wiki/User:Potato”,这只会篡改元素的 CSS。
解决方案
你不能。您可以匹配元素、元素中属性的名称以及元素中命名属性的值。
因此,没有 javascript的唯一方法是添加data
或class
.
例子 :
h1[data-text=Captain] {
color: red
}
<h1 class="page-header__title" data-text="Captain">Captain</h1>
这是javascript的一种方式,但我不推荐它。
let title = document.querySelector('.page-header__title');
if (title.innerText === 'Captain') {
/* if you want to edit directly its style */
title.style.color = 'red';
/* if you want a class */
title.classList.add('.your-class');
}
<h1 class="page-header__title">Captain</h1>
推荐阅读
- javascript - 按钮在具有 ng-click 的 div 内不起作用
- android - Android:build.gradle:无法解决:com.github.Yalantis:Context-Menu.Android:1.1.4
- django - Django + 传统 MongoDB
- python - 如何将列表转换为字典形式?
- telegram-bot - 即时更改电报机器人名称
- node.js - 如何读取 csv 文件并将其存储在对象数组中?
- javascript - 如何使用来自http请求的数组将动态输入字段添加到角度形式
- multithreading - 在请求之间共享应用程序线程池
- c - C语言写的UDP客户端收不到包
- php - 未找到基表或视图:1146 表“ifs.employees”不存在 Laravel 错误