我在我的html中有一个span元素,如下所示,其中包含一个值0:

<span class="personcart">0</span>


我写了一个jQuery,将span元素中存储的数字加1.当我在按钮上时,该span元素包含类addtocartbt。我在class personcart的span元素中向零值添加1,并在class personcart的span元素中存储1。但是,当我再次单击类addtocartbt的span元素时,它会警告值为11的值,该值先前存储在具有类名personcart的span元素中。实际上,它应该是1,而不是11。

var totalsum = parseInt($("span.personcart").text());
$("span.addtocartbt").click(function()
{




      alert(totalsum);
      var intg = 1;

     if(totalsum == 0){



        var totalsum   = parseInt(totalsum) + parseInt(intg);
        //$("span.personcart").html("0");
        alert(totalsum);
        $("span.personcart").html(totalsum);


      }
      else{
            alert("okkkk!!!");
            var totalsum = parseInt($("span.personcart").text());
            //$("span.personcart").html("0");
            var totalsum   = parseInt(totalsum) + parseInt(intg);
            alert(totalsum);
            $("span.personcart").html(totalsum);

      }

      /*var totalsum = 0;
      alert(totalsum);
      var totalsum   = parseInt(totalsum) + 1;
      alert(totalsum);*/

});


谁能说出该怎么做?

最佳答案

var totalsum = parseInt($("span.personcart").text());
$("span.addtocartbt").click(function() {
  alert(totalsum);
  var intg = 1;
  if (totalsum == 0) {
    totalsum = parseInt(totalsum) + parseInt(intg);//dont initialize
    //$("span.personcart").html("0");
    alert(totalsum);
    $("span.personcart").html(totalsum);
  } else {
    alert("okkkk!!!");
    totalsum = parseInt($("span.personcart").text());
    //$("span.personcart").html("0");
    totalsum = parseInt(totalsum) + parseInt(intg);//dont initialize
    alert(totalsum);
    $("span.personcart").html(totalsum);
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="personcart">0</span>
<span class="addtocartbt">addtocartbt</span>





注释了您重新初始化变量的地方,请检查注释

09-18 19:03