0

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行目など。その間のすべての行は、本体のどの行にもホバークラスを追加しません。

この奇妙な結果の原因は何ですか? コードでわかるように、ホバーすると各行のインデックスがコンソールに記録され、正しいインデックス番号が生成されました。

ありがとう

4

0 に答える 0