How can I erase all inline styles with javascript and leave only the styles specified in the css style sheet?

前端 未结 7 685
一整个雨季
一整个雨季 2020-12-02 14:53

If I have the following in my html:

And this in my c

相关标签:
7条回答
  • 2020-12-02 15:28

    You could also try listing the css in the style sheet as !important

    0 讨论(0)
  • 2020-12-02 15:34

    This can be accomplished in two steps:

    1: select the element you want to change by either tagname, id, class etc.

    var element = document.getElementsByTagName('h2')[0];

    1. remove the style attribute

    element.removeAttribute('style');

    0 讨论(0)
  • 2020-12-02 15:38

    I was using the $('div').attr('style', ''); technique and it wasn't working in IE8.

    I outputted the style attribute using alert() and it was not stripping out inline styles.

    .removeAttr ended up doing the trick in IE8.

    0 讨论(0)
  • 2020-12-02 15:43

    Plain JavaScript:

    You don't need jQuery to do something trivial like this. Just use the .removeAttribute() method.

    Assuming you are just targeting a single element, you can easily use the following: (example)

    document.querySelector('#target').removeAttribute('style');
    

    If you are targeting multiple elements, just loop through the selected collection of elements: (example)

    var target = document.querySelectorAll('div');
    Array.prototype.forEach.call(target, function(element){
        element.removeAttribute('style');
    });
    

    Array.prototype.forEach() - IE9 and above / .querySelectorAll() - IE 8 (partial) IE9 and above.

    0 讨论(0)
  • 2020-12-02 15:44

    If you need to just empty the style of an element then:
    element.style.cssText = null;
    This should do good. Hope it helps!

    0 讨论(0)
  • 2020-12-02 15:50

    $('div').attr('style', '');

    or

    $('div').removeAttr('style'); (From Andres's Answer)

    To make this a little smaller, try this:

    $('div[style]').removeAttr('style');

    This should speed it up a little because it checks that the divs have the style attribute.

    Either way, this might take a little while to process if you have a large amount of divs, so you might want to consider other methods than javascript.

    0 讨论(0)
提交回复
热议问题