【问题标题】:How do I add class of scaleUp to multiple span elements on an event listener of onmouseover如何将 scaleUp 类添加到 onmouseover 事件侦听器上的多个 span 元素
【发布时间】:2021-03-28 06:14:00
【问题描述】:

我想给 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');
   }) ; 
}

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

【问题讨论】:

    标签: javascript onmouseover


    【解决方案1】:

    有几个问题:

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

    我添加了一个小的 sn-p 来向您展示它是如何完成的。

    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>

    【讨论】:

      猜你喜欢
      • 2021-03-21
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 2022-11-24
      • 2019-10-23
      • 2014-01-29
      相关资源
      最近更新 更多