Eu fiz de outra forma e deu certo, porque? Qual é a melhor forma e porque?
<script>
var items= $(".item-total");
var total= 0;
for(var i= 0; i<items.length; i++){
var item= $(items[i]).text();
var preco= parseFloat(item);
total= total + preco;
}
$("#valor-total").text(total);
$("#quantidade").text(items.length);