jQuery hasClass检查更改的DOM

Boy*_*oyd 0 javascript jquery

我遇到了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");
});
Run Code Online (Sandbox Code Playgroud)

Mar*_*man 5

由于事件传播,您的身体单击处理程序始终会删除activeSlide类.

尝试event.stopPropagation() ;

$(".slides").click(function(event){
    $(".activeSlide").removeClass("activeSlide");
    $(this).addClass("activeSlide");
    event.stopPropagation();
    alert("Set");
});
Run Code Online (Sandbox Code Playgroud)

要么

$(".slides").click(function(){
    $(".activeSlide").removeClass("activeSlide");
    $(this).addClass("activeSlide");
    alert("Set");
    return false;
});
Run Code Online (Sandbox Code Playgroud)