.icon-popup
每当我将鼠标悬停在表格行上时,我都想替换(交换)元素的类。On 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
所有类都被第一个返回函数的类替换.icon-doc-text
。
有什么线索吗?
更新01:我想我可能必须存储它以前的类,这样我就可以用mouseenter之前的任何东西替换mouseleave上的.icon-popup。
更新 02:更好的是我可以使用数据属性并.data()
检索原始类名mouseleave