1

xmlをhtmlに変換するxlstコードを作成しました。これにより、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という単語は1つのテーブルで何度も発生します。各タイプのテーブルは約5つあります。

4

3 に答える 3

0

その行のテキストを変数に取り込んで、必要な単語(たとえば、「Trace」)を照合します。次のようなもの:

var row = $('tr#action').text();
var count = row.match(/Trace/g);
于 2012-09-05T11:20:12.423 に答える
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>

自分自身をロードする際にカウントを取得するデモ

すべてのテーブルからカウントを取得するデモ

各テーブルからカウントを取得し、結果をhtml自体に表示するデモ

于 2012-09-05T11:28:24.673 に答える
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 に答える