我在使用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");
});

最佳答案

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

尝试event.stopPropagation();

$(".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;
});

关于javascript - jQuery hasClass检查更改的DOM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5109368/

10-09 15:01