我遇到了jQuery函数'hasClass'的问题。它返回false,而它应该返回true。 hasClass函数正在寻找一个由javascript添加的类。那么也许hasClass函数无法在改变的HTML中找到类?如果是这样,我怎样才能以最好的方式解决它?
$(".slides").mouseover(function(){
$(this).stop(true, true).animate({"width": "+=30px", "height": "+=30px", "margin-top": "+=15px"}, 200);
})
$(".slides").mouseout(function(){
alert($(this).hasClass('activeSlide'));
if(!$(this).hasClass('activeSlide')){
$(this).stop(true, true).animate({"width": "-=30px", "height": "-=30px", "margin-top": "-=15px"}, 200);
}
});
$("body").click(function(){
$(".activeSlide").removeClass("activeSlide");
});
$(".slides").click(function(){
$(".activeSlide").removeClass("activeSlide");
$(this).addClass("activeSlide");
alert("Set");
});
答案 0 :(得分:5)
由于事件传播,您的身体点击处理程序始终会删除activeSlide类。
$(".slides").click(function(event){
$(".activeSlide").removeClass("activeSlide");
$(this).addClass("activeSlide");
event.stopPropagation();
alert("Set");
});
或
$(".slides").click(function(){
$(".activeSlide").removeClass("activeSlide");
$(this).addClass("activeSlide");
alert("Set");
return false;
});