Ajouter des nombres et créer un div pour le résultat

J’ai la structure HTML suivante (sans fin) …

1
2.5
1.5
1.5
2

… et je veux que le script ajoute les points 1 à 5 pour chaque emballage. Le résultat de chaque wrapper devrait apparaître dans une nouvelle div, appelée “result”. Ce div doit également être créé par le script.

Cela ressemblerait à ceci ::

 
1
2.5
1.5
1.5
2
8.5
<-- created by script
2.5
3.5
4
1.5
1
12.5
<-- created by script
4
1.5
2.5
2
1.5
11.5
<-- created by script

Mes problèmes:
a) Comment puis-je append les scores pour chaque wrapper correct, si le nom de la classe est toujours le même (wrapper, contenu, partition)?
b) Comment puis-je créer automatiquement une div avec le résultat pour chaque wrapper?

Quelqu’un peut-il m’aider?

.content chaque élément .content , puis ajoutez la sum des éléments .score .

Vous pouvez y parvenir en imbriquant des boucles .each() :

Exemple ici

 $('.wrapper .content').each(function () { var sum = 0; $(this).find('.score').each(function () { sum += Number($(this).text(), 10); }); $(this).append('
' + sum + '
'); });
 $('.wrapper .content').each(function () { var sum = 0; $(this).find('.score').each(function () { sum += Number($(this).text(), 10); }); $(this).append('
' + sum + '
'); });
 .result { color: #f00; } 
  
1
2.5
1.5
1.5
2
2.5
3.5
4
1.5
1
4
1.5
2.5
2
1.5
 $(document).ready(function(){ $('.content').each(function(){ var total = 0; $(this).find('> .score').each(function(){ total += parseFloat($(this).text()); }); $(this).append('
' + total + '
'); }); });

Démo de travail

Vous pouvez utiliser les DOM de jQuery each :

 var finalVal = 0; $(function () { $(".content").each(function () { finalVal = 0; $(this).find(".score").each(function () { finalVal += Number($(this).text()); }); $(this).append('
' + finalVal + '
'); finalVal = 0; }); });
 .result {background: #99f;} 
  
1
2.5
1.5
1.5
2
2.5
3.5
4
1.5
1
4
1.5
2.5
2
1.5