汇总html页面

时间:2017-10-31 14:32:20

标签: jquery html

我有一个示例表看起来像这样,每5分钟刷新一次数据以显示latest.example -

TollFree                    US                      Canadian                      
7,312                       826                     141,128     

我需要添加和计算总数。

 Total Records -

这是我迄今为止所尝试过的 -     http://jsfiddle.net/unKDk/2666/

HTML页面有6个表,它们具有不同的列数来进行相同的计算。尝试在所有td类中使用相同的脚本是相同的。

2 个答案:

答案 0 :(得分:1)

您的代码中存在一些错误。以下是工作版本:http://jsfiddle.net/2q06sv8w/3/

$(document).ready(function () {
            var expenses = $('.expenses');
            var expenseTotal = $('#expenses_sum');
            expenseTotal.html('0');
            $.each(expenses, function (index, object) {
                var boldTag = $(object).find('b');
                if (boldTag && boldTag.length > 0 && $(boldTag[0]).html() != '') {
                    expenseTotal.html(parseInt(expenseTotal.html()) + parseInt($(boldTag[0]).html().replace(/,/g, '')));
                }
            })
        });
  1. 选择器'。'用于选择与类名匹配的元素,'#'用于选择与id匹配的元素。所以'expenses_sum'必须是一个id而不是一个类。
  2. 您应该使用html()而不是val()来获取和设置td标记的内容。
  3. td标记包含粗体标记内的值,因此您必须使用粗体标记上的html()。
  4. 这里看起来没有必要声明全局变量和使用$ prefix作为变量。

答案 1 :(得分:0)

我们走了:



var summ = Number($("td:nth-child(1)").text()) + Number($("td:nth-child(2)").text()) + Number($("td:nth-child(3)").text());
console.log("Result: " + summ);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th>A</th>
<th>B</th>
<th>V</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
&#13;
&#13;
&#13;

根据您的要求进行修改:

&#13;
&#13;
var summ = 0;
$("td").each(function() {
  summ += Number($(this).text());
});;
console.log("Result: " + summ);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th>A</th>
<th>B</th>
<th>V</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
&#13;
&#13;
&#13;