jquery数字比较

时间:2011-09-27 07:26:23

标签: jquery

我遇到了在jquery中比较数字的麻烦。测试代码在这里:

<script src="jquery.js"></script>
<script>
jQuery(document).ready(function(){
    var val1 = $("#aaa").attr('title');
    var val2 = $("#bbb").html();
    if(val1>=val2){
        $("#ccc").html(val1);
    }else{
        $("#ccc").html(val2);
    }
});
</script>
<div id="aaa" title="1">aaa</div>
//set title=1 show 1, set title=2 show 111
<div id="bbb">111</div>
<div id="ccc"></div>

代码显示,来自html dom的两个数字。现在我在div#aaa[title]中设置了数字,如果设置为1,则为正确,如果设置为2,则结果是错误的。问题出在哪儿?感谢。

2 个答案:

答案 0 :(得分:8)

您需要比较int值,而不是字符串

jQuery(document).ready(function(){
    var val1 = parseInt($("#aaa").attr('title'));
    var val2 = parseInt($("#bbb").html());
    if(val1>=val2){
        $("#ccc").html(val1);
    }else{
        $("#ccc").html(val2);
    }
});

代码:http://jsfiddle.net/BCKKr/

答案 1 :(得分:7)

您正在比较字符串,使用parseInt(value, 10);

将它们转换为int
var val1 = parseInt($("#aaa").attr('title'), 10);
var val2 = parseInt($("#bbb").html(), 10);