【发布时间】:2018-04-16 05:55:44
【问题描述】:
我正在使用这个 sn-p 根据正值或负值更改 div 的类
<script type="text/javascript">$('.price-change').each(function() {
if (parseInt($(this).text()) < 0) {
$(this).addClass('negative');
}
else if (parseInt($(this).text()) >= 0) {
$(this).addClass('positive');
}
});</script>
我遇到了介于 0 和 1 以及 0 和 -1 之间的值的问题。因此,如果值为 -0.15,它将显示绿色,尽管它需要显示红色,因为在值之前有 -。
为什么会这样?修复它的最佳方法是什么?
提前致谢
【问题讨论】:
-
添加
console.log(parseInt($(this).text(),10)),你会看到发生了什么。它将 -0.15 四舍五入为最接近的整数,即 0,在您的情况下为正数。您正在将非整数与整数进行比较。 -
使用 parseInt,0 和 1 之间的任何值都只是 0。你不能有负零或正零。它只是简单的 0。
标签: javascript jquery html css class