如何收集单个列内容

时间:2016-05-26 04:01:21

标签: javascript jquery html

如何收集单个列内容

<td class="checkallprice">300</td>
<td class="checkallprice">110</td>
<td class="checkallprice">350</td>
<td class="checkallprice">100</td>
<td class="checkallprice">I need Total Here</td>

4 个答案:

答案 0 :(得分:1)

你可以这样做,calculateTotal()将计算所有以前兄弟姐妹的总数。 $('.checkallprice').last()会找到最后一个元素,并将文本设置为calculateTotal()的结果。

$(document).ready(function(){
    function calculateTotal() {
         var total = 0;
       jQuery(this).prevAll().each(function() {
            total += Number(jQuery(this).text());
       });
       return total;
    }
    $('.checkallprice').last().text(calculateTotal);
});

JSFiddle:https://jsfiddle.net/mh5gn7zx/1/

答案 1 :(得分:0)

试试这个: 获取除最后一个html之外的td,将其解析为Int/Float并添加它们。

$(document).ready(function(){
  var sum=0;
  $('table tr td').each(function(){
    if($(this).is(':last-child'))
    {
      $(this).html(sum);
    } 
    else
    {
      sum = sum + parseFloat($(this).html());
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
<td class="checkallprice">300</td>
<td class="checkallprice">110</td>
<td class="checkallprice">350</td>
<td class="checkallprice">100</td>
<td class="checkallprice">I need Total Here</td>
    </tr>
  </table>

答案 2 :(得分:0)

  • 使用.each来迭代td元素
  • 使用td选择器
  • 选择上一个:last-child
  • 使用:not(:last-child)排除last-child
  • 使用Numberstring投射到number

&#13;
&#13;
$('tr').each(function() {
  var sum = 0;
  $(this).find('td:not(:last-child)').each(function() {
    sum += Number(this.textContent);
  });
  $(this).find(':last-child').text(sum);
})
&#13;
td:last-child {
  background: orange;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr>
    <td class="checkallprice">300</td>
    <td class="checkallprice">110</td>
    <td class="checkallprice">350</td>
    <td class="checkallprice">100</td>
    <td class="checkallprice">I need Total Here</td>
  </tr>
  <tr>
    <td class="checkallprice">10</td>
    <td class="checkallprice">120</td>
    <td class="checkallprice">30</td>
    <td class="checkallprice">40</td>
    <td class="checkallprice">I need Total Here</td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

尝试以下方法:

$(document).ready(function(){
  var sum=0;
  $('table tr td').not('td:last').each(function(){//select all the td except the last
      sum = sum + parseFloat($(this).text());//sum the values
  });
   $('table tr td:last').text(sum);//append to the last one
});

或如果您有多个tr

  $(document).ready(function(){
      var sum=0;
 $('tr').each(function(){
      $(this).find('td').not('td:last').each(function(){//select all the td except the last
          sum = sum + parseFloat($(this).text());//sum the values
      });
       $(this).find('td:last').text(sum);//append to the last one
    });
});