95 votes

Comment puis-je effacer tous les styles en ligne avec javascript et ne laisser que les styles spécifiés dans la feuille de style css?

Si j'ai de la suite dans mon code html:

<div style="height:300px; width:300px; background-color:#ffffff;"></div>

Et cela dans ma feuille de style css:

div {
    width:100px;
    height:100px;
    background-color:#000000;
}

Est-il possible, avec javascript/jquery, afin de retirer tous les styles en ligne et ne laisser que les styles spécifiés par la feuille de style css?

168voto

Tyler Carter Points 30030

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

ou

$('div').removeAttr('style'); (À partir de Andres Réponse)

Pour rendre cela un peu plus petit, essayez ceci:

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

Cela devrait accélérer un peu, car il vérifie que les divs ont l'attribut style.

De toute façon, cela peut prendre un peu de temps si vous avez une grande quantité de vrd, de sorte que vous pourriez envisager d'autres méthodes que le javascript.

23voto

andres descalzo Points 8392
$('div').removeAttr('style');

3voto

rtvenge Points 41

J'ai été en utilisant l' $('div').attr('style', ''); technique et il ne fonctionnait pas avec IE8.

J'ai sorti l'attribut de style à l'aide de alert() et il n'était pas à défaire les styles en ligne.

.removeAttr a fini par faire le tour de IE8.

-2voto

BoringCode Points 108

Vous pouvez également essayer d'inscription le css dans la feuille de style !important

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X