javascript - 如果里面有文字
是 X 然后 addClass
问题描述
我想检查最近的内容是什么,<p>
并相应地将一个类添加到一个 div 中。
这就是我卡住的地方。
$('p').each(function () {
if ($('p').text() == 'E. A. K') {
$('.pl1').addClass('service');
}else{
$('.pl2').addClass('service');
}
});
.service:after{content:"(service)"}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>E. A. K.</p>
<p>F. F.</p>
<span class=pl1>Player 1</span><br>
<span class=pl2>Player 2</span>
所以如果第一个<p>
是 EAK 然后.pl1
有类service
如果第一个<p>
是 FF 然后.pl2
有类service
考虑到有很多<p>
都包含这两个内容。并且会不时添加一些新的。
解决方案
首先,您需要稍微加快速度,并确保在正确的位置关闭括号。
你说the <p> that appears closest to the top of the body
,那么你只想要1,所以不需要循环遍历每个<p>
这应该做你想做的,但仍然不确定,因为你的逻辑有点奇怪,无论如何希望它有所帮助。
$('body p:first').filter(function() {
if ($(this).text() == 'E. A. K.') {
$('.pl1').addClass('service');
} else {
$('.pl2').addClass('service');
}
});
演示
$('body p:first').filter(function() {
if ($(this).text() == 'E. A. K.') {
$('.pl1').addClass('service');
} else {
$('.pl2').addClass('service');
}
});
.service:after {
content: "(service)"
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>E. A. K.</p>
<p>F. F.</p>
<span class=pl1>Player 1</span><br>
<span class=pl2>Player 2</span>
推荐阅读
- algorithm - Scheme中的扩展欧几里得算法
- php - 从 Woocommerce 中的单个产品中删除 27 中的侧边栏
- f# - 根据之前的类型选择生成 F# 类型
- pandas - pandas to_latex() 转义“\\newline”以在 LaTex 中使用
- python - python中摆的泰勒级数
- php - PHP中的连续切换
- urllib - Python facebook 聊天簿从谷歌下载
- perl - perl 中带有前缀 0 数字的错误
- c# - Windows 10 照片应用“清晰度”选项算法
- python - 是否可以在字符串中嵌入一个稍后可以使用“格式”方法设置的变量?