jQuery数字比较

5

我在使用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个回答

13

你正在比较字符串,使用 parseInt(value, 10) 将它们转换为整数。

var val1 = parseInt($("#aaa").attr('title'), 10);
var val2 = parseInt($("#bbb").html(), 10);

9
你需要比较 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);
    }
});

Code: http://jsfiddle.net/BCKKr/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接