我遇到了在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,则结果是错误的。问题出在哪儿?感谢。
答案 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);
}
});
答案 1 :(得分:7)
您正在比较字符串,使用parseInt(value, 10);
var val1 = parseInt($("#aaa").attr('title'), 10);
var val2 = parseInt($("#bbb").html(), 10);