我在我的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>
注释了您重新初始化变量的地方,请检查注释