質問: $(this).parent().find('th').index(this); // マウスカーソルがのっているセルが左端でない場合 if(0 < cursor){ // マウスカーソルがのっているセルの列に for(var i=0; i
回答: HTMLはそのままで ``` /* 一番下の行に追加 */ .matrix .cursor, .matrix tr:hover td { background:#dff1f4!important; } ``` ``` $(function() { $('.matrix').find('th, td').on('mouseenter', function() { // マウスカーソルがのっているセルが左から何番目かを取得 var idx = $(this).parent().find('th, td').index(this); if (idx <= 0) return; var s = '.matrix tr > *:nth-of-type(' +(idx+1)+ ')'; $(s).addClass('cursor'); }) .on('mouseleave', function() { // Classを全て削除 $('.matrix *.cursor').removeClass('cursor'); }); }); ``` 解説 === ### CSS 横軸の色付けはCSSで実現しております → tr:hoverのtdに色がつくように ### JS 記載の処理を少し簡潔にしております ちゃんと書くなら事前に列番号を取得した上でのイベントを追加することが望ましいです ### まとめ 全体的にCSSクラスに使われていないものが見られましたが 記載されていない部分の処理が見えないため極力手を加えないようにしてみました 目的の動きとなっているかわかりませんがどうでしょう ここで動作を確認できます