javascript - JavaScript 一次替换文本中的多个字符
问题描述
我有一个表,我试图根据表中的值着色。因此,如果表中的值为 150%,则单元格将显示为红色。如果表中的值为 50%,则该值将显示为绿色。但是,由于某种原因,表格中的实际文本中包含大量空格以及 % 符号。如何用空 ('') 替换任何空格和 '%' 字符?
这是我所拥有的不起作用的:
<script type="text/javascript">
$(document).ready(function () {
$('#myTable td.PercentMem').each(function () {
if ($(this).text().replace(/\s/g, '').replace('%', '') >= '100') {
$(this).css('background-color', '#ff0000');
}
else {
$(this).css('background-color', '#33cc33');
}
});
});
</script>
谢谢!
编辑
我很笨。我忘了包括这些百分比中有小数点的事实。所以,我真正处理的是“50.89%”之类的东西,到目前为止提供的解决方案将其转换为“5089”。我怎样才能保留小数点?
解决方案
您需要去除所有非数字字符并将结果字符串转换为 int。所以是这样的:parseInt($(this).text().replace(/\D/g,''))
。另外,在您的帖子中,您正在与 string 进行比较'100'
,这显然应该是一个数字。尝试这个:
$(document).ready(function () {
$('#myTable td.PercentMem').each(function () {
if (parseInt($(this).text().replace(/\D/g,'')) >= 100) {
$(this).css('background-color', '#ff0000');
}
else {
$(this).css('background-color', '#33cc33');
}
});
});
免责声明:我还没有实际测试过,但这应该可以。
推荐阅读
- opengl - 在片段着色器 (GLSL) 中获取表面大小
- tensorflow - 了解 TensorFlow 数据集的结构
- c++ - OpenMP 并行化 std::next_permutation
- acumatica - 批准时间活动中未显示活动
- python - 无法创建新连接节点 JS RethinkDbDash
- python - 使用 ffmpeg-python 设置转换后的输出文件的帧率
- python - 从熊猫数据框中获取索引值
- java - 如何使用 Android Studio 在 Android 10 中将文件写入外部存储
- reactjs - React Props 不会更新状态
- javascript - 使用 AES-128-ECB 方法在 Java 中加密并在 PHP 中解密