我有一个问题与jQuery,我真的不明白为什么。我对jQuery并不陌生,但让我们说我有很多东西要学。
问题是我有一个生成的列表,其中包含一个跨度。 <span class="cost-value">7.040,00</span>
。这不是唯一的,它们有一整行。现在,我想要的是跨度的每个值都被添加到数字中,以便我得到所有这些数字的总和。
为此,我写了下面的代码。
function countCart(){
var sum = 0;
$(".cost-value").each(function() {
sum =+ Number($(this).html());
});
$('.cost-total').html(sum);
}
然而,测试时,sum
不会返回NaN
。我在这里做错了什么?我试着用数据属性来做,结果也是一样。
更新:好的。我试过一些建议。代码如下:
function countCart(){
var sum = 0;
$(".cost-value").each(function() {
sum += $(this).data("cost");
});
console.log(sum);
$('.cost-total').html(sum);
}
但是,这会将每个数字加到字符串中。我希望所有的数字都加在彼此之间,这样我就可以得到一个数字。
您的跨度不具有数据成本属性。将数据成本='7.040,00'添加到您的跨度,然后重试。 –
或使用'sum + = Number($(“this).text())' –
使用'.text()'而不是'.html()' - 但在这种情况下应该是一样的。 '= +'而不是'+ =' –