我有一个类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");
}
})
我应该如何更改它以便仅更改特定行?
答案 0 :(得分:1)
$(".trhlite .buttonSelector").click(function() {
$(this).parent(".trhlite").css("background-color","yellow");
});
没有测试,但应该工作。 (将.buttonSelector
替换为按钮的类,或使用语义术语(例如:input
)。
答案 1 :(得分:0)
在jQuery中,使用$(".trhlite")
作为选择器,将匹配所有具有trhlite类的元素。要使它只使用一行,您需要一种方法来唯一标识受影响的行,然后访问该行以更改其背景!
答案 2 :(得分:0)
$( “trhlite。 ”)的CSS(“ 背景色”, “黄色”); 意味着任何具有trhlite类的对象都会有bgcolor黄色。
尝试在每一行中为每个行添加唯一值,例如trhlite1 trhlite2或其他内容,以便您可以单独更改bgcolors。
我很乐意提供更多帮助,但我不能提供您提供的信息。
也许添加所有js代码会有所帮助。
答案 3 :(得分:0)
尝试以下代码,它可能是您想要实现的。
$(document).ready(function() {
$("someTableSelector").find("tr:gt(0)").each(function(){
$(this).css('background-color','#000000');
})
});
答案 4 :(得分:0)
您不应在HTML中的属性之间添加分号。但是你的问题可能是因为所有行共享相同的ID,应该是不同的。
答案 5 :(得分:0)
看看我的例子:jsfiddle.net/ntvYq/
$('#mytable').on('click', 'tr', function(){
$(this).css("background-color","yellow");
});
答案 6 :(得分:0)
你在函数中有传递选择器,并且像
一样使用function change_bg(this)
{
$(this +".trhlite").css("background-color","yellow");
}