0

私はこのコードJSFiddleを持っています。セルにカーソルを合わせると、列の色が変わりますが、マウスを別のセルに移動すると、色が千鳥パターンに戻っているように見えることがわかります。私のコードがどれほどひどいものであるかについての講義はしたくありません。

非強調表示を処理するコード:

tables[i].onmouseout = function(e){
    var target;
    if(e.target.tagName.toLowerCase() == 'span') target = e.target.parentNode;
    else if(e.target.tagName.toLowerCase() == 'td') target = e.target;
    if(!target || target.innerHTML == ' ') return;
    target = document.getElementsByClassName('hcell');
    for(var i = 0; i < target.length; i++){
        target[i].className = target[i].className.replace(/\bhcell\b/,'');
    }
}
4

1 に答える 1

1

onmouseover ロジックにエラーがあり、hcell クラスを数十回追加してから、そのうちの 1 つだけを削除します。フィドルでの短いテストの結果、次のようになりました。

<td class="letter hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell hcell"><span class="tblsup">2</span>D</td>

このためにjQueryを使用して、あなたの人生をずっと楽にすることを検討してください。

于 2013-11-15T08:01:02.027 に答える