var items = $(".item-total"); var total = 0; for(var i=0; i < items.length; i++) { var conteudo = $(items[i]).text(); var preco = parseFloat(conteudo); total += preco; } $("#valor-total").text(total);
var items = $(".item-total"); var total = 0; for(var i=0; i < items.length; i++) { var conteudo = $(items[i]).text(); var preco = parseFloat(conteudo); total += preco; } $("#valor-total").text(total);
Você já tentou utilizar o "val()" em vez do "text()", porque se for um campo do tipo input o "text()" não vai funcionar.
var items = $(".item-total");
var total = 0;
for(var i=0; i < items.length; i++) {
var conteudo = $(items[i]).text();
var preco = parseFloat(conteudo);
total += preco;
}
$("#valor-total").val(total);
}
aqui eu troquei 'items' por itens
<div>
Valor Total: R$<span id="valor- total">0</span>
<br/>
Quantidade de itens distintos:
<span id="quantidade-de-itens"></span>
</div>
<script>
var itens = $(".item-total");
var total = 0;
for (var i = 0; i < itens.length; i++) {
var conteudo = $(itens[i]).text();
var preco = parseFloat(conteudo);
total += preco;
}
$("#valor-total").text(total);
$("#quantidade-de-itens").text(itens.length);
</script>
Lembre - se que os DIVs devem ficar na parte superior do código ou você terá que criar uma function pra englobar todas as funcionalidades e programas para executar posteriormente.
Resumindo o seu código deverá ficar assim:
<html>
<head>
<!--Parte ocultada.-->
</head>
<body>
<!--Parte ocultada.-->
<div >
Valor Total: R$<span id="valor-total">0</span>
<br/>
Quantidade de Itens: <span id="quantidade-de-itens">0</span>
</div>
<script src="jquery-3.1.1.min.js"></script> <!-- Versão atual -->
<script>
var aposInicializado = function() {
var itens = $(".item-total");
var total = 0;
for(var i = 0; i < itens.length; i++){
var item = $(itens[i]);
var valor = parseFloat(item.text());
total = total + valor;
}
$("#valor-total").text(total);
$("#quantidade-de-itens").text(itens.length);
}
$(aposInicializado); //Código que chama a function acima após o carregamento completo da página.
</script>
</body>
</html>
o código parece estar correto, poste o html, e utilize o botão {}inserir código para facilitar a leitura.
var conteudo = $(items[i]).text();
var preco = parseFloat(conteudo);
Experimenta retirar o ".text" da var conteudo e coloca na var preco!
var conteudo = $(items[i]);
var preco = parseFloat(conteudo.text);