javascript - 基于值的jquery字体颜色脚本包含
问题描述
我有一个简单的 if else 语句,它将根据它的值为数字着色。
谁能解释为什么下面总是导致红色?
$(document).ready(function() {
// the following will select all elements with class "deltadiff"
// if the element has a '-', it will assign a 'red' class, else it will assign the 'green class'
if ($(".deltadiff:contains('-')"))
$(".deltadiff").addClass('red');
else $(".deltadiff").addClass('green');
}
)
.red {
color: red;
}
.green {
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> -120</font>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> 120</font>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> 5</font>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> -7</font>
解决方案
if ($(".deltadiff:contains('-')"))
仅检查具有deltadiff
类名的第一个元素。
您应该遍历具有相同类的所有元素。
然后,用于includes()
检查 是否innerHTML
包含-
.
$(document).ready(function() {
// For each element with class: 'deltadiff'
$('.deltadiff').each(function(i, obj) {
// if the element has a '-', it will assign a 'red' class, else it will assign the 'green class'
if (obj.innerHTML.includes('-')) {
obj.classList.add("red");
} else {
obj.classList.add("green");
}
});
});
.red {
color: red;
}
.green {
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> -120</font>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> 120</font>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> 5</font>
<font class="deltadiff" style="font-size:10px; vertical-align:super;"> -7</font>
推荐阅读
- arrays - 使用数组变体从范围中复制和粘贴单元格
- flutter - 在颤动中如何在数据表中创建动态列和行(根据数据列)
- python - 我如何将列中的字符串值匹配到python中的其他列名
- java - 如何通过 FileinputStream 添加恢复设置功能
- thrift - thrift的Transport如何选择?TBufferedTransport还是TFramedTransport?
- excel - Bing Map API 的距离 (Km) 和时间 - excel 宏 - Mac Os X
- node.js - fetchPairData() 中的异常:在方法 getReserves() 中调用恢复异常
- javascript - 如何从 json 数组中选择特定项目?
- notepad++ - 如何将项目面板或文件夹中的文件过滤为工作区?
- apache-poi - Apache POI 无法读取带有 rfc2397 嵌入 PNG 图像的 Word docx 文件