Comment append du contenu HTML extrait d’un tableau HTML?

J’ai ce script

$('table#preview td.price').each(function(){ var price = parseInt($(this).html()); var total; if(price == ''){ price = 0; } total += price; alert(total); }); 

Ce qui est obtenu, c’est d’obtenir la colonne qui a le prix de la classe, puis supposément l’additionner.

Cependant, tout ce que je tire de ce code est NaN. Je ne comprends pas ce qui ne va pas avec le code.

Veuillez noter le script if (price == ”) . Je l’ai fait parce qu’au début, il n’y avait pas de contenu dans le tableau.

Edit: ici le html

  
Name Price
pen 6 paper 8

Essayez d’utiliser la méthode .text() au lieu de la méthode .html() , cela devrait aider à éliminer les erreurs NaN. Vous voudrez déclarer le total dehors de la scope de chaque itération afin qu’elle ne soit pas réinitialisée à chaque fois. Essayez ceci, je l’ai légèrement simplifié pour inclure également un contrôle par rapport au price :

 var total = 0; $('table#preview td.price').each(function() { var price = parseInt($(this).text()); if (!isNaN(price)) { total += price; } }); alert('The total is: ' + total); 

Mettre à jour

Voici un jsFiddle . NB .html() devrait également fonctionner.