dataTables を使用して、テーブルを固定列とヘッダーで分割しています。これは、php が設定された大きなテーブルです。
次のjqueryコードがあります
$(document).on({
mouseenter: function () {
trIndex = $(this).index()+1;
console.log(trIndex);
$("table.dataTable").each(function() {
$(this).find("tr:eq("+trIndex+")").addClass("hover")
});
},
mouseleave: function () {
trIndex = $(this).index()+1;
$("table.dataTable").each(function(index) {
$(this).find("tr:eq("+trIndex+")").removeClass("hover")
});
}
}, ".dataTables_wrapper tr");
固定列は実際にはdataTablesによって2つのテーブルに分割されているため、ホバリングしている行のインデックスを取得してから、固定列と本体のそのインデックスを持つ行にクラスホバーを適用しようとしていますテーブル。
chromes インスペクタを調べたところ、各行のインデックスは期待どおり 1 ずつ増加しています。固定列の行は期待どおり hover クラスを追加していますが、本体では 1 行目にはホバー時に hover クラスが追加されていますが、14 行目は 2 行目に hover クラスを追加し、27 行目は hover クラスに hover クラスを追加しています。 3行目など。その間のすべての行は、本体のどの行にもホバークラスを追加しません。
この奇妙な結果の原因は何ですか? コードでわかるように、ホバーすると各行のインデックスがコンソールに記録され、正しいインデックス番号が生成されました。
ありがとう