私は単純なトータラーを作成しようとしています.私の基本的なhtmlは次のようになります:
<ul>
<li class="header">
<span> </span>
...
<span>Total</span>
</li>
<li>
<span>0</span>
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
<span class="total">0</span>
</li>
<li>
<span>1</span>
<span>10</span>
<span>20</span>
<span>30</span>
<span>40</span>
<span>50</span>
<span class="total">0</span>
</li>
<li>
<span>5</span>
<span>1</span>
<span>1</span>
<span>9</span>
<span>3</span>
<span>2</span>
<span class="total">0</span>
</li>
</ul>
jQuery関数:
var eaList = $('ul li span').not('.total, .header span');
var sum = 0;
eaList.each(function(){
var total = $(this).parent().find('.total');
sum += parseFloat($(this).text());
total.text(sum);
});
これは現在、行ごとではなく、関数の最後に合計に累積的に追加されています。
私はそれが単純なセレクターの場合であることを望んでいましたvar total = $(this).parent().find('.total');
(私も試しvar total = $(this).closest('.total');
ました.
.total
要素に合計を出力する前に、合計をプッシュする空の配列が必要ですか? または、正しいセレクターを使用して合計を返す必要がある組み込みの jquery がありますか?
JSFIDDLE: https://jsfiddle.net/lharby/y991hkf6/