您应该从所有,目前有它的元素将其添加到新的元素之前删除类:
$("li").live("mouseover", function() {
$('.current').removeClass('current');
$(this).addClass('current');
});
jsFiddle
为了增加优化(即保存$('.current')
选择,这在某些情况下可能是昂贵的旧的浏览器),你可以检查,看看是否该元素徘徊已经有类:
$("li").live("mouseover", function() {
if (!$(this).hasClass('current')) {
$('.current').removeClass('current');
$(this).addClass('current');
}
});
或者,每Felix的好主意,
var current;
$("li").live("mouseover", function() {
if (this !== current) {
$(current).removeClass('current');
$(this).addClass('current');
current = this;
}
});
jsFiddle
我添加了代码....它不是太多张贴;) – 2011-06-01 20:29:27