如果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) {
如何解决这个问题?
答案 0 :(得分:7)
使用parseFloat
代替parseInt
,因为parseInt
只是将第一部分解析为0
而且不是否定的。工作代码:
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;
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