Récupérer des propriétés css
Bonjour/Bonsoir tout le monde. J'essaye de faire une "copie" de propriété css d'un élément vers un autre. En temps normal, j'aurais par exemple fait ceci :
Code:
1 2 3
|
var elem = document.getElementById("...");
anotherElem.style.width = window.getComputedStyle(elem).width; |
Là le problème, c'est que l’élément source, contenant le style, n'est pas inclus dans le html. Je dois donc chercher le nom de la classe qui m'intéresse, dans mon fichier stylesheet.
J'ai lu et fouillé dans la msdn et j'ai trouvé quelques trucs intéressants comme document.styleSheets (qui renvoie un tableau de toutes les feuilles de style inclus dans la page) et cssRules mais je ne vois pas du tout comment m'en servir :/. J'ai aussi lu ceci mais je ne vois pas à quoi correspond précisément "rules[0]"
Donc, pouvez-vous m'expliquer comment faire ?
Pour les "détourneurs" de problèmes :
Je ne veux pas utiliser une librairie, un framework, une api ou chépa quoi et cetera. De plus, le code doit être compris par la plupart des navigateurs.
Je vous remercie.
cssText : "body { background-color: rgb(0, 0, 255); }"
Citation:
Envoyé par
Disixlis
J'ai lu et fouillé dans la msdn et j'ai trouvé quelques trucs intéressants comme
document.styleSheets (qui renvoie un tableau de toutes les feuilles de style inclus dans la page) et
cssRules mais je ne vois pas du tout comment m'en servir :/. J'ai aussi lu
ceci mais je ne vois pas à quoi correspond précisément "
rules[0]"
Bonne question... J'ai fait un test : http://jsbin.com/vesojikawe/edit?html,output et je crois bien que rules est équivalent à cssRules... Mais je crois qu'il vaut mieux utiliser ce dernier (l'autre étant propre à IE je crois...).
rules[0] ---> désigne la première règle css contenu dans "oStyleSheet", on a oStyleSheet.rules[0].cssText = "body { background-color: rgb(0, 0, 255); }"