html - 如何使用 span:not() 来避免 span
问题描述
我想将以下样式应用于我的所有跨度标签,但包含文本“dontwant”的标签除外
span:not("dontwant"){
font-weight: inherit;
filter: drop-shadow(0px 0px 0rem black);
box-shadow: 0px 0px 0px black
}
这是我想避免的跨度:dontant
UPDATE 发表在评论中:使用 jquery 来隐藏带有该文本的元素怎么样?那可能吗?
解决方案
正如我们所提到的,CSS 没有让您匹配 text 的选择器。您可以在 CSS 中通过向包含您不想设置样式的文本的所有元素添加类来实现,但这需要更改 HTML。
您在评论中询问是否可以使用 jQuery 来完成 - 可以,使用contains
和not
选择器的组合。
使用 jQuery还意味着您不必更改现有的 HTML。
最简单的方法是首先创建一个 CSS 类,其中包含要应用的样式,例如
.shadow {
font-weight: inherit;
filter: drop-shadow (0px 0px 0rem black);
box-shadow: 0px 0px 0px black
}
现在您可以使用 JQuery 选择所有不包含“dontwan”的跨度并将您的类添加到它们,如下所示:
$('span:not(:contains("dontwant"))').addClass('shadow');
您只需将此行添加到您的$(document).ready(function()
工作片段:
$('span:not(:contains("dontwant"))').addClass('shadow');
.shadow {
font-weight: inherit;
filter: drop-shadow(0px 0px 0rem black);
box-shadow: 0px 0px 0px black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<p>This is a span I <span>dontwant</span> to add <span>shadow</span>.</p>
<p>This is <span>another</span> span I <span>dontwant</span> to add <span>shadow</span>.</p>
您可以在函数中将其包含在 Angular 中ngOnInit
,例如:
public ngOnInit(){
$(document).ready(function(){
$('span:not(:contains("dontwant"))').addClass('shadow');
});
}
推荐阅读
- bash - 为什么将带引号的字符串传递给 Bash 函数并用作命令参数不能按预期工作?
- navigationbar - SwiftUI:第一次渲染时缺少 navigationBarItems
- pine-script - Pine script : 绘制盘中上午 9 点至 10 点的最高最低价
- html - 是否可以拆分先前通过合并多个单元格创建的 CSS 网格单元格?
- sqlite - 在 Crystal FFI 中,如何访问 C 库中的类型?
- null - 当 Enable Null 为 True 时,ColdFusion 2018 查询出现问题
- java - 创建一个具有两倍元素数的新数组
- r - 在R中选择每年相同的时期
- express - Socket.io 无法在 fb 和 insta 的应用内浏览器上监听
- python - 将excel文件列导入python脚本