2

我有一个带类的表格行trhlite

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

Onclick 每行中的一个按钮,它必须改变整行的颜色。

但我的 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

在 jQuery 中,$(".trhlite")用作选择器时,将匹配所有具有 trhlite 类的元素。要使其仅适用于一行,您需要一种方法来唯一地识别受影响的行,然后访问该行以更改其背景!

于 2012-09-21T08:25:24.217 回答
0

$(".trhlite").css("背景色","黄色"); 表示任何具有类 trhlite 的对象都将具有黄色的 bgcolor。

尝试为类的每一行添加唯一值,例如 trhlite1 trhlite2 或其他内容,以便您可以单独更改 bgcolors。

我很乐意提供更多帮助,但我无法使用您提供的信息。

也许添加所有的 js 代码会有所帮助。

于 2012-09-21T08:25:35.823 回答
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

看我的例子: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 回答