使用JQuery统计匹配的html表条目

使用JQuery统计匹配的html表条目,jquery,Jquery,我有日志文件数据,我想使用jQuery来计算每个“站点”有多少个条目。此外,我想做一些有多个条目的网站(可能更改背景颜色): <tr><td class='site'>123456</td><td>70</td><td>10.32</td><td>2014-03-04</td></tr> <tr><td class='site'>123457</t

我有日志文件数据,我想使用jQuery来计算每个“站点”有多少个条目。此外,我想做一些有多个条目的网站(可能更改背景颜色):

<tr><td class='site'>123456</td><td>70</td><td>10.32</td><td>2014-03-04</td></tr>
<tr><td class='site'>123457</td><td>73</td><td>8.95</td><td>2014-03-03</td></tr>
<tr><td class='site'>123458</td><td>61</td><td>1.37</td><td>2014-03-05</td></tr>
<tr><td class='site'>123457</td><td>68</td><td>12.26</td><td>2014-03-04</td></tr>
<tr><td class='site'>123457</td><td>95</td><td>15.31</td><td>2014-03-05</td></tr>
<tr><td class='site'>123456</td><td>58</td><td>1.31</td><td>2014-03-05</td></tr>
<tr><td class='site'>123459</td><td>65</td><td>11.06</td><td>2014-03-05</td></tr>
123456710.322014-03-04
123457738.952014-03-03
123458611.372014-03-05
1234576812.262014-03-04
1234579515.312014-03-05
123456581.312014-03-05
1234596511.062014-03-05
因此,从上面的html中,我将以下总数放入div中:

Site Issues 123456 2 123457 3 123458 1 123459 1 网站问题 123456 2 123457 3 123458 1 123459 1 …我将突出显示表中有多个条目(123456和123457)的两个站点。你能给我指一下正确的方向吗


另外,我已经在使用“表排序器”对行进行排序了。非常方便的插件

以下是一种方法

更新

对于@Eduardo抓住的一个角落案例,他在评论中也提出了解决方案。 我们应该使用它来突出显示元素,否则我们将无法在多个条目中选择第一个元素

$('.site:contains('+site+')').css({'color': 'green'}); //Or something else

这里是你可以做到这一点的方法之一

更新

对于@Eduardo抓住的一个角落案例,他在评论中也提出了解决方案。 我们应该使用它来突出显示元素,否则我们将无法在多个条目中选择第一个元素

$('.site:contains('+site+')').css({'color': 'green'}); //Or something else
现在,对象
totals
包含您想要的计数

var sites = [];
var rows = $("tr");
for(var i in rows){
    var site = $("td.site", rows[i]).text();
    // if I've already saved this site, i go to the next one
    if(sites[site])continue;

    // i get how many times the site is repeated
    var count = $("td:contains('"+site+"')").length;

    // save result in an array
    sites[site] = count;
    // or display the result somehow
}

现在,对象
totals
包含您想要的计数。

在哪里设置
numIssues
result[site][numIssues]=result[site][numIssues]|0不设置变量
numIssues
。你也从不初始化变量
els
。我想你的意思是
result[site]。numIssues
result[site]。els
@Barmar是的。我打错了。你是对的。将更新代码。你在哪里设置
numIssues
result[site][numIssues]=result[site][numIssues]|0不设置变量
numIssues
。你也从不初始化变量
els
。我想你的意思是
result[site]。numIssues
result[site]。els
@Barmar是的..我打错了..你是对的..将更新代码。非常感谢-我很接近了,但出于某种原因我想匹配文本。非常感谢-我很接近了,但出于某种原因,我想匹配文本。
var sites = [];
var rows = $("tr");
for(var i in rows){
    var site = $("td.site", rows[i]).text();
    // if I've already saved this site, i go to the next one
    if(sites[site])continue;

    // i get how many times the site is repeated
    var count = $("td:contains('"+site+"')").length;

    // save result in an array
    sites[site] = count;
    // or display the result somehow
}