2

クラスのテーブル行がありますtrhlite

"<tr class='trhlite'; bgcolor='".$color."'; onMouseOver=\"this.bgColor='pink';\"   
onMouseOut=\"this.bgColor='".$color."';\" id=\"row"."\">";

各行のボタンをクリックすると、行全体の色が変わる必要があります。

しかし、私のjQueryはテーブル内のすべての行に対して変更されます:

var id = id;

$.ajax({
    url: "<?php echo $this->address .'feedback/postflag'?>",
    type: 'POST',
    data: "id=" + id,
    success: function (data) {
        var index = parseFloat(id);
        // alert(index);            
        $(".trhlite").css("background-color", "yellow");
    }
})

特定の行のみを変更するように変更するにはどうすればよいですか?

4

7 に答える 7

1
$(".trhlite .buttonSelector").click(function() {
    $(this).parent(".trhlite").css("background-color","yellow");
});

テストしませんでしたが、動作するはずです。(.buttonSelectorボタンのクラスに置き換えるか、セマンティック用語 (: など) を使用しますinput)。

于 2012-09-21T08:26:59.317 に答える
0

以下のコードを試してみてください。実装したいものかもしれません。

$(document).ready(function() {
   $("someTableSelector").find("tr:gt(0)").each(function(){
        $(this).css('background-color','#000000');
  })
});
于 2012-09-21T08:26:41.190 に答える
0

HTML の属性間にセミコロンを追加しないでください。しかし、すべての行が同じ ID を共有しているため、問題が発生する可能性があります。

于 2012-09-21T08:26:46.757 に答える
0

jQuery では$(".trhlite")、セレクターとして使用すると、trhlite のクラスを持つすべての要素に一致します。1 行のみで機能させるには、影響を受けた行を一意に識別し、その行にアクセスして背景を変更する方法が必要です。

于 2012-09-21T08:25:24.217 に答える
0

$(".trhlite").css("背景色","黄色"); クラス trhlite を持つすべてのオブジェクトが bgcolor 黄色になることを意味します。

クラスごとに、trhlite1、trhlite2 などの一意の値を追加して、bgcolors を個別に変更できるようにしてください。

もっとお役に立ちたいのですが、ご提供いただいた情報では対応できません。

たぶん、すべての js コードを追加すると役立つでしょう。

于 2012-09-21T08:25:35.823 に答える
0

私の例を見てください: jsfiddle.net/ntvYq/

$('#mytable').on('click', 'tr', function(){
    $(this).css("background-color","yellow");
});
于 2012-09-21T08:30:08.477 に答える
0

関数にパスセレクターがあり、次のように使用します

function change_bg(this)
{
  $(this +".trhlite").css("background-color","yellow");
}
于 2012-09-21T08:30:37.273 に答える