Je sais que je peux définir une valeur CSS via JavaScript comme:
document.getElementById('image_1').style.top = '100px';
Mais, puis-je obtenir une valeur de style spécifique actuelle? J'ai lu où je peux obtenir le style complet de l'élément, mais je ne veux pas avoir à analyser la chaîne entière si je ne le dois pas.
javascript
css
Michael Paul
la source
la source
var top = document.getElementById('image_1').style.top;
May voudra le reformuler si ce n'est pas ce que vous voulezRéponses:
Vous pouvez utiliser
getComputedStyle()
.jsFiddle .
la source
La propriété element.style vous permet de connaître uniquement les propriétés CSS qui ont été définies en ligne dans cet élément (par programme ou définies dans l'attribut style de l'élément), vous devez obtenir le style calculé.
Ce n'est pas si facile de le faire de manière multi-navigateur, IE a sa propre manière, via la propriété element.currentStyle, et la manière standard DOM niveau 2, implémentée par d'autres navigateurs, est via la méthode document.defaultView.getComputedStyle.
Les deux façons ont des différences, par exemple, la propriété IE element.currentStyle attend que vous accédiez aux noms de propriété CSS composés de deux mots ou plus dans camelCase (par exemple maxHeight, fontSize, backgroundColor, etc.), la manière standard attend les propriétés avec le mots séparés par des tirets (par exemple, hauteur maximale, taille de police, couleur d'arrière-plan, etc.). ......
Empilement de référence principal
la source
Utilisez le suivant. Ça m'a aidé.
Voir aussi Obtenir des styles .
la source
Solution multi-navigateur pour vérifier les valeurs CSS sans manipulation DOM:
Usage:
Version aseptisée (force l'entrée du sélecteur en minuscules et permet un cas d'utilisation sans signe ".")
la source
Si vous le définissez par programme, vous pouvez simplement l'appeler comme une variable (c'est-à-dire
document.getElementById('image_1').style.top
). Sinon, vous pouvez toujours utiliser jQuery:la source
Si vous aimez les bibliothèques, pourquoi pas MyLibrary et getStyle .
La méthode jQuery css est mal nommée, CSS n'est qu'une façon de définir les styles et ne représente pas nécessairement les valeurs réelles des propriétés de style d'un élément.
la source
En 2020
Vous pouvez utiliser computedStyleMap ()
La réponse est valide mais parfois vous devez vérifier quelle unité elle retourne, vous pouvez l'obtenir sans chaîne
slice()
nisubstring()
chaîne.la source
Par mesure de sécurité, vous souhaiterez peut-être vérifier que l'élément existe avant d'essayer de le lire. S'il n'existe pas, votre code lèvera une exception, qui arrêtera l'exécution sur le reste de votre JavaScript et affichera potentiellement un message d'erreur à l'utilisateur - pas bon. Vous voulez pouvoir échouer gracieusement.
la source
La solution multi-navigateur sans manipulation DOM donnée ci-dessus ne fonctionne pas car elle donne la première règle de correspondance, pas la dernière. La dernière règle de correspondance est celle qui s'applique. Voici une version de travail:
Cependant, cette recherche simple ne fonctionnera pas dans le cas de sélecteurs complexes.
la source