J'ai une certaine feuille de style pour une div. Maintenant je veux modifier un attribut de la div dynamiquement à l'aide de js.
Comment faire ?
document.getElementById("xyz").style.padding-top = "10px";
Est-ce exact ?
J'ai une certaine feuille de style pour une div. Maintenant je veux modifier un attribut de la div dynamiquement à l'aide de js.
Comment faire ?
document.getElementById("xyz").style.padding-top = "10px";
Est-ce exact ?
Moi non plus, c'est très utile pour les fonctions dynamiques, on peut passer le style comme une valeur de chaîne, puis définir le style et la valeur. Excellente solution.
En outre, pour compléter ce que dit @raphie, vous pouvez également utiliser document.getElementById("xyz").style["paddingTop"] = '10px'
.
C'est presque correct.
Depuis l'entrée en vigueur de la -
est un opérateur javascript, vous ne pouvez pas vraiment l'utiliser dans les noms de propriétés. Si vous définissez, border
ou quelque chose de semblable, votre code fonctionnera parfaitement.
Cependant, ce qu'il faut retenir pour padding-top
et pour tout nom d'attribut avec trait d'union, en javascript, on enlève le trait d'union et on met la lettre suivante en majuscule, donc dans votre cas ce serait paddingTop
.
Il existe d'autres exceptions. JavaScript a des mots réservés, vous ne pouvez donc pas mettre float
comme cela, par exemple. Au lieu de cela, dans certains navigateurs, vous devez utiliser cssFloat
et dans d'autres styleFloat
. C'est pour ce genre de divergences qu'il est recommandé d'utiliser un framework tel que jQuery, qui gère les incompatibilités entre les navigateurs pour vous...
En supposant que vous ayez un code HTML comme celui-ci :
<div id='thediv'></div>
Si vous souhaitez modifier l'attribut style de cette div, vous devez utiliser
document.getElementById('thediv').style[ATTRIBUTE] = '[VALUE]'
Remplacer [ATTRIBUTE]
avec l'attribut de style souhaité. N'oubliez pas de supprimer "-" et de mettre la lettre suivante en majuscule.
Exemples
document.getElementById('thediv').style.display = 'none'; //changes the display
document.getElementById('thediv').style.paddingLeft = 'none'; //removes padding
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.