我遇到了在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>
Run Code Online (Sandbox Code Playgroud)
如代码所示,来自html dom的两个数字.现在我设置了数字div#aaa[title],如果设置为1,则为正确,如果设置为2,则结果是错误的.问题出在哪儿?谢谢.
您正在比较字符串,将它们转换为int parseInt(value, 10);
var val1 = parseInt($("#aaa").attr('title'), 10);
var val2 = parseInt($("#bbb").html(), 10);
Run Code Online (Sandbox Code Playgroud)
您需要比较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);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22182 次 |
| 最近记录: |