Add a class to a DIV with javascript

后端 未结 4 1914
小蘑菇
小蘑菇 2020-12-14 02:32

Example HTML:

How can I add the class class_two without replacing

相关标签:
4条回答
  • 2020-12-14 02:47

    You can make life easier with a couple of helper functions:

    function addClass(el, className) {
      var classes = el.className.match(/\S+/g) || [];  
    
      if (!hasClass(el, className)) {
        classes.push(className);
      }
      el.className = classes.join(' ');
    }
    
    function hasClass(el, className) {
      var re = new RegExp('(^|\\s+)' + className + '(\\s+|$)');
      return re.test(el.className);
    }
    
    addClass(document.getElementById('foo'), 'bar')
    
    0 讨论(0)
  • 2020-12-14 02:52

    You may use jQuery.

    $('#YourElement').addClass('YourClass'); //add
    
    $('#YourElement').removeClass('YourClass'); //remove
    
    $('#YourElement').toggleClass('YourClass'); //toggle
    

    Or Javascript, if you wish.

    document.getElementById('id').classList.add('YourClass'); //add
    document.getElementById('id').classList.remove('YourClass'); //remove
    
    0 讨论(0)
  • 2020-12-14 02:54

    Standard javascript:

    document.getElementById('foo').className += ' class_two'
    
    // Or see deekshith's answer below if you only need to support new browsers
    

    or JQuery:

    $('#foo').addClass('class_two');
    
    0 讨论(0)
  • 2020-12-14 02:55

    A better way to add a class would be to use Element.classList.add():

    document.getElementById('foo').classList.add("class_two");
    
    0 讨论(0)
提交回复
热议问题