簡體   English   中英

更改表格行的背景色

[英]Change table row background color

我正在使用以下代碼嘗試在給定的時間間隔內更改行的背景色:

var $tr = $tableBody.find('tr[id=' + id + ']');

setTimeout(function () {
    $tr.css("background-color", "red");
    $tr.effect("highlight", {}, 2000);
}, 1000);

不幸的是,上述方法不起作用。

添加行時是否需要css 還是通過定義樣式有更好的方法?

編輯這是一個示例JSFIDDLE

更新:這是一個可工作的jsfiddle ,可在單擊時使用。

您代碼的問題是,在每個var聲明后都使用了','

$(document).ready(function() {
    $('#myTable').on('click',function(){
      var $tbl = $('#myTable');
      var $tblbody = $tbl.find('tbody');
      var $tr = $tblbody.find('tr[id=' + 1 + ']');

      $tr.addClass('highlight');
    });

})

我建議不要直接更改CSS元素,而應該向CSS樣式表中設置的元素添加一個類:

// CSS

.highlight{background-color:red}

// JS將高亮類添加到行中

$('#' + id).addClass('highlight');

//設置超時以在給定的時間范圍(此示例中為2秒)后刪除突出顯示類:

setTimeout(function(){
    $('#' + id).removeClass('highlight')}, 2000)

這樣,您就不會改變它的CSS了-您可以多次使用Highlight類,也可以將其用於其他用途。

請注意,您需要確定addClass方面的觸發器-否則,它將在頁面加載時添加它,並且像所有jQuery實例一樣,您需要將jquery庫添加到頁面中,並添加$(document).ready(function(){ })將其全部包裝。

我覺得你在找

setTimeout(function () {
    $tr.effect( "highlight", { color: "red" }, 2000 );
}, 1000);

另外,請確保還包括了jQuery UI庫:)

看到這個JSFIDDLE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM