0

我正在使用下面的代码来获取 div 内的值(数字)并加一,但如果值为 1 并且我按下我的按钮,它会给我 01 并且我想加一,如果它是 2 并按下我的按钮它又给了我 22。

我的代码是:

<div class="mybtn">0</div>

<script>

$(function() {

$(".buttonDown").click(function() 
{
var checkDown = $('.buttonDown').text();
$('.mybtn').hide("fast");
$('.mybtn').text(checkDown+1);
$('.mybtn').fadeIn("slow");
});

});
</script>
4

5 回答 5

2
$(function () {
    $(".mybtn").click(function () {
        var $this = $(this).stop(true, true).hide("fast");
        var checkDown = parseInt($.trim($(this).text()), 10);
        $this.text(checkDown + 1).fadeIn("slow");
    });
});

演示:小提琴

于 2013-11-01T00:39:27.467 回答
1

那是因为你将两个字符串加在一起。尝试使用parseInt()围绕变量的方法:

 $('.mybtn').text(parseInt(checkDown, 10)+1);

以获得最佳效果。

于 2013-11-01T00:40:16.860 回答
0

使用+checkDown而不是简单checkDown地将字符串隐式转换为数字。

var checkDown = $('.buttonDown').text();
$('.mybtn').text(+checkDown + 1);
于 2013-11-01T00:42:44.843 回答
0

您当前正在做的是告诉它将值连接到字符串,如 "0" + 1 = string "01" 而不是将其转换为整数,然后将其加一。

    var checkDown = ParseInt($('.buttonDown').text());
    $('.mybtn').text(checkDown+1);
于 2013-11-01T00:45:08.837 回答
0

试试这个;

<div class="mybtn">0</div>



  <script>

$(function() {

$(".buttonDown").click(function() 
{

var checkDown = parseInt($(this).text(), 10)
$(this).hide("fast").text(checkDown+1).fadeIn("slow");


});

});
</script>
于 2013-11-01T00:50:45.880 回答