sur ma page Je change des styles CSS via JavaScript. Lorsque j'essaie de tirer une valeur héritée - il arrive en blanc. Considérez les éléments suivants:
<div class="Sliding" id="FilterBox"> <h3>Test Form</h3> This is a test/<br /> 12345 </div>
4 Réponses :
Vous devez regarder le style calculé, voir ici < / a> p>
Le lien est cassé / ne répond pas. Pensez à inclure le code dans votre réponse
Vous voudrez utiliser getcomputedstyle .
Le Note, cependant, que votre exemple n'a rien à faire avec héritage. Juste des règles qui s'appliquent directement aux éléments qui vous intéressent. L'héritage est quand un élément prend le même style que son parent via le mot clé code> hériter p> getcomputedstyle donnera la valeur calculée finale cependant, de sorte qu'il récupérera également les valeurs héritées. p> p> .style code> est un moyen d'accéder à un style en ligne et de réglage (c'est-à-dire comme l'attribut de style). P>
getcomputedstyle () ne fonctionne pas dans tous les navigateurs populaires (sans nommer)
Vous pouvez maintenant utiliser en toute sécurité getcomputedstyle code> Caniuse.com/#feat=getComputeDstyle
Connexes: Pourquoi GestCompuTeDstyle ne revient pas à l'affichage: Aucun pour un élément caché par un parent?
Votre deuxième règle CSS:
.Sliding #FilterBox { height: 185px; background-color: Fuchsia; }
Bien sûr, mais vous pouvez le pointer un million de fois vers le style calculé, mais si le CSS est incorrect, c'est une perte de temps
Étant donné que la deuxième règle ne touche pas la propriété d'affichage, elle n'aurait aucun impact s'il était écrit pour s'appliquer à cet élément.
if (!window.getComputedStyle) { window.getComputedStyle = function(el, pseudo) { this.el = el; this.getPropertyValue = function(prop) { var re = /(\-([a-z]){1})/g; if (prop == 'float') prop = 'styleFloat'; if (re.test(prop)) { prop = prop.replace(re, function () { return arguments[2].toUpperCase(); }); } return el.currentStyle[prop] ? el.currentStyle[prop] : null; } return this; } } function GetCompStyle() { var compStyle = window.getComputedStyle(document.getElementById('FilterBox'), ""); alert(compStyle.getPropertyValue("display")); }
Merci tout le monde. L'utilisation de GeComp dépendant est aidé à résoudre mon problème. Je prends que getElementyid (). Style est juste utilisé pour les paramètres de style individuels - pas ceux définis par une classe ou une carte d'identité.