1

我写了一个 xlst 代码来将 xml 转换为 html,它在 html 中创建了很多表。

表中有一个名为“类型”的列。其中包含单词

1) 追踪 2) 验证 3) 行动

上述 3 个单词将在表格的同一列中重复多次。我的要求是显示每个单词在列中出现的次数

我应该在加载 html 页面时立即显示计数


这是表的一般模式

/*Table Schema*/
<table>
<tr>
 <th>Time</th>
 <th>Position</th>
 <th>Type</th>
 <th>Message</th>
</tr>
<tr>
 <td>....</td>
 <td>....</td>
 <td>Action</td>
 <td>....</td>
</tr>
<tr>
 <td>....</td>
 <td>....</td>
 <td>Verification</td>
 <td>....</td>
</tr>
<tr>
 <td>....</td>
 <td>....</td>
 <td>Trace</td>
 <td>....</td>
</tr>
<tr>
 <td>....</td>
 <td>....</td>
 <td>Error</td>
 <td>....</td>
</tr>

以上是表的一般架构和单词action,trace,error,verification在一个表中发生了很多次每种类型大约有5个表

4

3 回答 3

0

这是一个工作示例:

http://jsbin.com/otezes/1/

$(document).ready(function(){
  var rows = $("#aaa tr");
  var arr = {};
  rows.each(function(){
    var val = $(this).find("td").eq(0).text();
    if (val === "") return;
    if (typeof(arr[val])!= "undefined"){
      arr[val] = ++arr[val];
    }
    else{
      arr[val] = 1;
    }
  });

  console.log(JSON.stringify(arr));

});
于 2012-09-05T11:31:17.033 回答
0

演示:http: //jsfiddle.net/PhB7x/5/ 演示

您可以使用 jquery 执行此操作

考虑示例 html

  <table>
<tr>
    <th>Trace</th>
    <th>Verification </th>
    <th>Action</th>
</tr>
<tr>
    <td>A</td>
    <td>B</td>
    <td>CC</td>
</tr>
<tr>
    <td>D</td>
    <td>E</td>
    <td>CC</td>
</tr>
</table>
<table>
<tr>
    <th>Some</th>
    <th>Thing</th>
    <th>Dont</th>
</tr>
<tr>
    <td>A</td>
    <td>B</td>
    <td>CC</td>
</tr>
<tr>
    <td>D</td>
    <td>E</td>
    <td>CC</td>
</tr>
</table>

js将是

   $(document).ready(function ()
{
    getOccurance("CC");
    function getOccurance(word)
    {
        $("table").each(function (tindx, tobj)
        {
            var noOfOccurance = 0;
            $("tr td:gt(1)", $(tobj)).each(function (ind, obj)
            {
                if (word == $.trim($(obj).text())) noOfOccurance++;
            });

            alert("Word " + word + " occurs " + noOfOccurance + " times in table  " + (tindx + 1));
        })
    }

})

​</p>

让 Count 加载自身的演示

从每个表中获取计数的演示

从每个表中获取计数并在 html 本身中显示结果的演示

于 2012-09-05T11:28:24.673 回答
0

我会将该行的文本放入一个变量中,并对所需的单词进行匹配,例如“Trace”。类似于以下内容:

var row = $('tr#action').text();
var count = row.match(/Trace/g);
于 2012-09-05T11:20:12.423 回答