如何将 scaleUp 类添加到 onmouseover 事件侦听器上的多个跨度元素

问题描述

我想为 onmouseover 的事件监听器上的所有 span 元素添加一个 scaleUp 类。

我认为这可以通过 forEach() 方法实现,但我无法做到

我的 HTML:-

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>
        <span>H</span>
        <span>E</span>
        <span>L</span>
        <span>L</span>
        <span>O</span>
        <span class="special">!</span>
    </h1>

    <script src="app.js"></script>
</body>
</html>

我当前的 Javascript 代码:-

const letters = document.querySelectorAll('span');

for (var i = 0 ; i < letters.length; i++) {
   letters[i].addEventListener('onmouseover',function(){
    letters.classList.add('scaleUp');
   }) ; 
}

我知道我的代码有很多问题,但请帮忙。提前致谢

解决方法

有几个问题:

  • 'onmouseover' 应该是 'mouseover'
  • 在事件中,您引用的是 letters 而不是 this

我添加了一个小片段来向您展示如何做到这一点。

const letters = document.querySelectorAll('span');

for (var i = 0 ; i < letters.length; i++) {
   letters[i].addEventListener('mouseover',function(){
     this.classList.add("scaleUp");
   }) ; 
}
.special {
  color: red;
}

.scaleUp {
  color: blue;
}
    <h1>
        <span>H</span>
        <span>E</span>
        <span>L</span>
        <span>L</span>
        <span>O</span>
        <span class="special">!</span>
    </h1>

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...