Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery根据特定的列或索引汇总表?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery根据特定的列或索引汇总表?

Javascript 如何使用jQuery根据特定的列或索引汇总表?,javascript,jquery,Javascript,Jquery,我有一个类似于blow code的表格: <table class="somting"> <tr> <th>Id</th> <th>Item</th> <th>Item Cost</th> </tr> <tr> <td>1</td> <td>Car</td>

我有一个类似于blow code的表格:

<table class="somting">
  <tr>
     <th>Id</th>
     <th>Item</th>
     <th>Item Cost</th>
  </tr>
  <tr>
     <td>1</td>
     <td>Car</td>
     <td>200</td>
  </tr>
  <tr>
     <td>2</td>
     <td>Book</td>
     <td>500</td>
  </tr>
  <tr>
     <td>3</td>
     <td>Pen</td>
     <td>100</td>
  </tr>
 </table>

身份证件
项目
项目成本
1.
汽车
200
2.
书
500
3.
笔
100
现在我的问题是,如何获得“项目成本小计”列 使用jquery


我的意思是如何添加200+500+100

您可以向项目代码行添加一个类,如

  <tr>
     <td>1</td>
     <td>Car</td>
     <td class="price">200</td>
  </tr>
请参见,您可以使用:


身份证件
项目
项目成本
1.
汽车
200
2.
书
500
3.
笔
100
$(文档).ready(函数(){
var table=$(“table.somting”);
var-tds=table.find(“tr-td:nth-child(3)”;
var总和=0;
$。每个(tds,功能(i,me){
var val=parseFloat($(me).text());
sum+=val;
});
var append=''+sum+'';
表.追加(追加);
});
试试这个

tot = 0;
$('table.somting tr').each(function(index, elem) {
    p = $(this).find(":nth-child(3)").html();
    p = parseInt(p);        
    if (!isNaN(p)) {          
      tot = tot + p;
    }               
});
console.log(tot);
var总和=0;
$('table tr:not(:first')。每个(函数(){
var lasttd=$(this).find(“:last child”)
sum+=parseInt(lasttd.text());
});
警报(总和)

身份证件
项目
项目成本
1.
汽车
200
2.
书
500
3.
笔
100
使用以下方法:

<script>
    $(document).ready(function() {
        var table = $("table.somting");
        var tds = table.find("tr td:nth-child(3)");
        var sum = 0;
            $.each(tds, function(i, me){
                var val = parseFloat($(me).text());
                sum += val;
            });
        var append = '<tr><td></td><td></td><td class="price"> '+sum+'</td></tr>';
        table.append(append);

    });

</script>

$(文档).ready(函数(){
var table=$(“table.somting”);
var-tds=table.find(“tr-td:nth-child(3)”;
var总和=0;
$。每个(tds,功能(i,me){
var val=parseFloat($(me).text());
sum+=val;
});
var append=''+sum+'';
表.追加(追加);
});

您的JavaScript代码在哪里?我不知道这就是为什么我问我如何使用jQuery将这些类添加到这些列中,因为我无法确定表是动态生成的,或者有没有任何方法可以根据索引或列位置对其进行合计,但当我运行它时,我不知道why@MehdiJalal:小提琴很好用。你能用小提琴再现这个问题吗??
<table class="somting">
    <tr>
        <th>Id</th>
        <th>Item</th>
        <th>Item Cost</th>
    </tr>

    <tr>
        <td>1</td>
        <td>Car</td>
        <td>200</td>
    </tr>
    <tr>
        <td>2</td>
        <td>Book</td>
        <td>500</td>
    </tr>
    <tr>
        <td>3</td>
        <td>Pen</td>
        <td>100</td>
    </tr>
</table>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script>
    $(document).ready(function() {
        var table = $("table.somting");
        var tds = table.find("tr td:nth-child(3)");

        var sum = 0;

        $.each(tds, function(i, me){
            var val = parseFloat($(me).text());
            sum += val;
        });

        var append = '<tr><td></td><td></td><td class="price"> '+sum+'</td></tr>';

        table.append(append);

    });
</script>
tot = 0;
$('table.somting tr').each(function(index, elem) {
    p = $(this).find(":nth-child(3)").html();
    p = parseInt(p);        
    if (!isNaN(p)) {          
      tot = tot + p;
    }               
});
console.log(tot);
<script>
    $(document).ready(function() {
        var table = $("table.somting");
        var tds = table.find("tr td:nth-child(3)");
        var sum = 0;
            $.each(tds, function(i, me){
                var val = parseFloat($(me).text());
                sum += val;
            });
        var append = '<tr><td></td><td></td><td class="price"> '+sum+'</td></tr>';
        table.append(append);

    });

</script>