.icon-popup
テーブルの行にカーソルを合わせるたびに、要素のクラスが何であれ、置換 (スワップ) したいと考えています。mouseleave
で、初期クラスを元に戻したい。
<table class="libraryResults">
<tr>
<td class="libFormat"> <span><i class="icon-doc-text" data-id="icon-doc-text">a</i></span>
</td>
</tr>
<tr>
<td class="libFormat"> <span><i class="icon-video" data-id="icon-video">b</i></span>
</td>
</tr>
<tr>
<td class="libFormat"> <span><i class="icon-mic" data-id="icon-mic">c</i></span>
</td>
</tr>
</table>
私がこれを半分やり遂げた唯一の方法は、長くて面倒です。
$(".libraryResults tr").hover(function () {
$(this).find(".icon-doc-text").attr('class', 'icon-popup');
}, function () {
$(this).find(".icon-popup").attr('class', 'icon-doc-text');
});
$(".libraryResults tr").hover(function () {
$(this).find(".icon-video").attr('class', 'icon-popup');
}, function () {
$(this).find(".icon-popup").attr('class', 'icon-video');
});
$(".libraryResults tr").hover(function () {
$(this).find(".icon-mic").attr('class', 'icon-popup');
}, function () {
$(this).find(".icon-popup").attr('class', 'icon-mic');
});
そしてもちろん、それは完全には機能しません。すべてmouseleave
のクラスで、最初に返される関数の class に置き換えられ.icon-doc-text
ます。
手がかりはありますか?
UPDATE 01:以前のクラスを保存する必要があるかもしれないと思うので、mouseleave の .icon-popup を mouseenter の前にあったものに置き換えることができます。
UPDATE 02:さらに良いのは、データ属性.data()
を使用して、元のクラス名を取得することですmouseleave