如果负值小于零

时间:2018-01-10 16:13:22

标签: javascript jquery

如果addClass小于零,我希望value元素,值为负数-0.3,但我到目前为止尝试的不起作用。

var rate = $('#view-ad-rating');
var text = parseInt($(rate).text());

if (text < 0) {
  $(rate).addClass('viewAdRateBad');
} else {
  //$(rate).addClass('viewAdRateGood');
}
.viewAdRateBad {
  color: red;
}

.viewAdRateGood {
  color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="view-ad-rating">-0.3</a>

我也试过这个但没有成功:

if (text <= -1) {

如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

使用parseFloat代替parseInt,因为parseInt只是将第一部分解析为0而且不是否定的。工作代码:

&#13;
&#13;
var rate = $('#view-ad-rating');
var text = parseFloat($(rate).text()); // <- HERE

if (text < 0) {
  $(rate).addClass('viewAdRateBad');
} else {
  //$(rate).addClass('viewAdRateGood');
}
&#13;
.viewAdRateBad {
  color: red;
}

.viewAdRateGood {
  color: green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="view-ad-rating">-0.3</a>
&#13;
&#13;
&#13;

parseInt("-0.3")
//returns -0

parseFloat("-0.3")
//returns -0.3

parseInt("-0.9") // note it doesn't round but just parses the first part
//returns -0