私はWeb開発に非常に慣れていません。現在、tablesorter jquery プラグインを使用して、ユーザーが行を追加および削除できる動的テーブルを作成しています。クリック時に新しく作成された行の背景色を変更するのに問題があります。html でハードコードされた行で問題なく動作します。関連するコードは次のとおりです。
$(document).ready(
function() {
$('table.tablesorter td').click(
function (event) {
$(this).parent('tr').toggleClass('rowclick');
$(this).parent('tr').siblings().removeClass('rowclick');
});
}
)
rowclick は CSS クラスです。
table.tablesorter tbody tr.rowclick td {
background-color: #8dbdd8;
}
新しい行を追加するJavascript関数に次を追加しようとしました:
var createClickHandler =
function(newrow) {
return function(event) {
//alert(newrow.cells[0].childNodes[0].data);
newrow.toggleClass('rowclick');
newrow.siblings().removeClass('rowclick');
};
}
row.onclick = createClickHandler(row);
新しい行をクリックすると、アラートは行の最初の列にテキストを正しく表示します。ただし、新しい行は CSS クラスに応答しません。誰にもアイデアはありますか?
clickHandler を適用する前に、次のように tablesorter を更新したことにも言及する必要があります。
$("#TASKTABLE").trigger("update");
$("#TASKTABLE").trigger("appendCache");