更改数据表的背景颜色

时间:2015-01-09 11:56:32

标签: javascript jquery html css

我正在尝试更改此background数据广告的<tr>

var lastIdx = null;
var t = $("#campaigns_list").DataTable();

t.rows.add(['.$str_json.']).draw();

$("#campaigns_list tr").not(":first").hover(
  function() {
    $(this).css("background", "yellow");
  },
  function() {
    alert("bye");
  }
);

但我不知道为什么,background-color的{​​{1}}没有改变。

<tr>

此代码似乎无法更改颜色。但是,悬停功能会自行调用,因为如果我用警报替换上面的行,那么警报就会正常发生。

2 个答案:

答案 0 :(得分:1)

<td><tr>最有可能需要具有背景颜色。

编辑:例如:

$(this).find('td').css('background', 'yellow');

答案 1 :(得分:1)

在我看来,这是一个事件委托问题,因为它与datatables一起使用。 Datatables 插件会动态生成trs并且您在页面加载时绑定事件,并且在加载DOM后生成trs,因此您可以尝试使用将事件委托给最近的静态父级或文档本身:

$("#campaigns_list").on('hover mouseenter', 'tr:not(:first)', function(){

或者您可以尝试使用此事件:

$(document).on('hover mouseenter', '#campaigns_list tr:not(:first)', function(){

您可以委派给最近的静态父$(document)本身。