1

AJAX呼び出しから動的データをテーブルに追加していますが、「BLOCK」文字列を含む行を読み取りたいのですが、そこに赤い色を追加しますか?

どうすればこれを達成できますか.......?以下は私の現在のコードです

                  success: function(xml) {
                  var block_count;
                  var xmlDOM = $(xml);
                  block_count = $(xml).find('item').length;
                  xmlDOM.find("item").slice(position,position+page_size).each(function()       {
                            var $this=$(this);
                            var $user=$this.find("user").text();
                            var $tag=$this.find("tag").text();
                            var $action=$this.find("action").text();
                            var $time=$this.find("time").text();
            $("#datatable").append("<tbody><tr class='datarow'><td>"+$time+"</td> <td>"+$user+"</td><td>"+$url+"</td><td>"+$action+"</td></tr><tbody>");
                    });


         <table id='datatable' width="100%" cellpadding="7" cellspacing="1" style="line-height: .9em;">
                    <thead>
                            <tr id='tableheader'>
                                    <th>Time</th><th>User</th><th>tag</th><th>Action</th>
                            </tr>
                    </thead>
         </table>

編集:その行にその中にBLOCK文字列が含まれている場合、どうすれば赤い色を追加できますか....?

テーブルはこの画像のように見えますここに画像の説明を入力してください

ありがとうございました

4

3 に答える 3

0

交換:

$("#datatable").append("<tbody><tr class='datarow'><td>"+$time+"</td> <td>"+$user+"</td><td>"+$url+"</td><td>"+$action+"</td></tr><tbody>");

と:

$color = /BLOCK/.test($action) ? 'red' : '';
$("#datatable").append("<tbody><tr class='datarow "+$color+"'><td>"+$time+"</td> <td>"+$user+"</td><td>"+$url+"</td><td>"+$action+"</td></tr><tbody>");

次に、CSSを追加します。

.datarow.red {
    background-color: red;
}
于 2013-01-29T10:57:50.503 に答える
0
function change() {
$("#datatable tr.datarow:contains('BLOCK')").css({ "background":"red" });
}

イベントで変更したいとき、または変更したいときはいつでも、変更機能をトリガーまたは実行するだけです。

実例としてのフィドル

于 2013-01-29T10:14:18.970 に答える