Maison > Article > interface Web > Résumé des méthodes de modification des styles CSS dans les compétences JavaScript_javascript
JavaScript vous permet de modifier les styles CSS à la volée, afin que vous puissiez attirer l'attention de l'utilisateur sur l'endroit où vous souhaitez qu'il se concentre et offrir une meilleure expérience interactive.
Il existe 4 façons de modifier le CSS à l'aide de JavaScript :
Modifier le style du nœud (style en ligne) ;
Changer la classe ou l'identifiant du nœud ;
Écrivez un nouveau CSS
Remplacez la feuille de style dans la page.
Je parlerai également de la façon d'obtenir le style réel de l'élément et des précautions sous une forme plus tard.
1. Modifier le style du nœud (style en ligne)
Cette méthode a le poids le plus élevé. Elle est écrite directement sur l'attribut de style du nœud. Elle remplacera le style défini par les autres méthodes. Comment l'utiliser est très simple :
var element = document.getElementById("test"); element.style.display = "none" //让元素隐藏
Notez également que de nombreux styles ont des unités et ne peuvent pas recevoir uniquement un numéro. Par exemple, les unités de fontSize incluent px, em, % (pourcentage), etc.
Cette méthode viole le principe de séparation des performances et du comportement. Elle ne convient généralement que pour définir des styles en temps réel (liés au comportement) d'éléments qui changent fréquemment. Par exemple, un div qui peut être utilisé pour faire glisser changera. son haut et sa gauche lorsqu'il est déplacé. Les attributs changent constamment. Pour le moment, ils ne peuvent pas être définis par une classe ou d'autres méthodes. En utilisant cette méthode, le style peut être modifié à la volée et remplacer d'autres paramètres.
2. Changer de classe et d'identifiant
id et class sont des "hooks" pour définir les styles. Après les modifications, le navigateur mettra automatiquement à jour le style de l'élément.
En JavaScript, class est un mot-clé réservé, utilisez donc className comme attribut pour accéder à la classe de l'élément, par exemple :
.redColor{ color: red; } .yellowBack{ background: yellow; } element.className = "redColor";//设置class element.className += " yellowBack";//增加class
J'ai utilisé des expressions régulières lors de la suppression, et j'ai supprimé la classe en fonction de ses différentes positions dans la chaîne (tête, queue, milieu), mais j'ai ensuite pensé à une meilleure façon, qui consiste à supprimer la classe au début et à la fin. de l'attribut className. Ajoutez un espace à chacun, et tout devient alors la méthode du milieu, remplaçant directement la sous-chaîne :
//删除class function removeClass(element,classRomove){ var classNames = " "+element.className+" "; classNames = classNames .replace(" "+classRomove+" ", " "); //String.trim(classNames); element.className = classNames; }
Les deux dernières méthodes ne sont ni élégantes ni présentent certains problèmes de compatibilité, je ne les présenterai donc pas~
3. Obtenez le vrai style
La première chose à préciser est qu'il n'est pas possible d'utiliser element.style. Il ne peut obtenir que des styles en ligne et les définitions de la feuille de style ne peuvent pas être obtenues.
Étant donné que le style d'un élément peut être défini à de nombreux endroits, il est difficile de dire à quoi ressemble son style réel. Existe-t-il un moyen d'obtenir le style réel de l'élément affiché dans le navigateur ?
En fait, Microsoft et le W3C fournissent des méthodes correspondantes. Il suffit de les encapsuler pour les utiliser :
//获取元素样式 function getRealStyle(element,styleName){ var realStyle = null; if(element.currentStyle){ realStyle = element.currentStyle[styleName];//IE }else if(window.getComputedStyle){ realStyle=window.getComputedStyle(element,null)[styleName];//W3C } return realStyle; }
4. Afficher et masquer les formulaires (ne pas abuser du CSS)
Nous voyons souvent certaines options de formulaire ajoutées dynamiquement. Par exemple, si vous sélectionnez « Marié » comme état civil dans un formulaire, il y aura une zone de saisie supplémentaire pour vous permettre de saisir le nom de votre conjoint.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.