How to toggle class using pure javascript in html

前端 未结 2 1712
借酒劲吻你
借酒劲吻你 2020-12-03 02:22

I have a

, and I want to toggle its classes on hover.

Here is my code:

function a(){
    this.classList.toggle(\'first\');
           


        
相关标签:
2条回答
  • 2020-12-03 02:50

    While Tom Chung's approach definitely works, it's better to give mouseenter and mouseleave their own handler :

    var container = document.querySelector('#container');
    
    container.addEventListener('mouseenter', function(){
            this.classList.remove('first');
            this.classList.add('second');
    })
    container.addEventListener('mouseleave', function(){
            this.classList.add('first');
            this.classList.remove('second');
    })
    .first {
        background: green;
    }
    
    .second {
        background: orange;
    }
    <div id="container" class="first">
        TEST
    </div>

    (see also this Fiddle)

    0 讨论(0)
  • 2020-12-03 03:00

    Hover event is called "mouseenter" instead of "click".

    <script type="text/javascript">
        function a(){
            this.classList.toggle('first');
            this.classList.toggle('sec');
        }
        document.querySelector('#container').addEventListener('mouseenter', a )
        document.querySelector('#container').addEventListener('mouseleave', a )
    </script>
    
    0 讨论(0)
提交回复
热议问题