陷入JavaScript添加类的困境

陷入JavaScript添加类的困境,javascript,Javascript,} 我哪里做错了?我只需要单击一下添加一个类imghover 我的所有图像都有一个类=技能图像: 请有人检查并解决它 您正在绑定一个单击事件,该事件是在用户单击元素时触发的,而不是将鼠标悬停在该元素上。如果可能的话,最好坚持使用css来表示悬停状态,并按如下方式操作: .技能图像:悬停{ //将为.imghover定义的规则放在这里 } 试试这个 for(i=0;i<document.querySelectorAll(".skill-images").length;i++){ d

}

我哪里做错了?我只需要单击一下添加一个类imghover

我的所有图像都有一个类=技能图像:

请有人检查并解决它

您正在绑定一个单击事件,该事件是在用户单击元素时触发的,而不是将鼠标悬停在该元素上。如果可能的话,最好坚持使用css来表示悬停状态,并按如下方式操作:

.技能图像:悬停{ //将为.imghover定义的规则放在这里 } 试试这个

    for(i=0;i<document.querySelectorAll(".skill-images").length;i++){

document.querySelectorAll(".skill-images")[i].addEventListener("click", function (){

    document.querySelectorAll(".skill-images")[i].classList.add("imghover");

    setTimeout(function(){
      document.querySelectorAll(".skill-images")[i].classList.remove("imghover");
    },500);
});

您对调试做了什么?请注意,您不应使用4次querySelectorAll调用,您要求浏览器4次计算与选择器匹配的项目集合;根据您的html,这可能是大型集合;您最好将querySelectorAll返回存储在一个var中,然后使用它。我已经这样做了,但仍然不起作用。请帮帮我。我应该每次都使用querySelector吗?如果我添加鼠标而不是单击怎么办?@DevenderSharma为什么要在css执行任务时使用javascript…我正在学习它,刚刚解决了一个问题:这里的要点是以某种方式添加一个类,请在这方面提供帮助
var skillImagesElement = document.querySelectorAll(".skill-images");

    for(var i=0; i<skillImagesElement.length;i++){
        skillImagesElement[i].addEventListener("click", function (e) {
            var eachElement = this;
            eachElement.classList.add("imghover");

            setTimeout(function(){
                eachElement.classList.remove("imghover");
            },500);
        },false);
    }