123 votes

Comment définir la couleur d'arrière-plan d'un élément HTML à l'aide des propriétés css en JavaScript ?

Comment puis-je définir la couleur d'arrière-plan d'un élément HTML à l'aide de css en JavaScript ?

161voto

Ch00k Points 5901

En général, les propriétés CSS sont converties en JavaScript en les mettant en camelCase sans aucun tiret. Ainsi, background-color devient backgroundColor .

function setColor(element, color)
{
    element.style.backgroundColor = color;
}

// where el is the concerned element
var el = document.getElementById('elementId');
setColor(el, 'green');

3 votes

Je voudrais ajouter que la couleur doit évidemment être entre guillemets element.style.backgroundColor = "couleur" ; par exemple - element.style.backgroundColor = "orange" ; excellente réponse

0 votes

Dans les tests Selenium : ((IJavaScriptExecutor)WebDriver).ExecuteScript("arguments[0].style.background = 'yellow' ;", webElement) ;

0 votes

@Catto Dans ce cas, la couleur est un argument de la fonction, donc elle ne devrait pas être entre guillemets. Cependant, vous avez raison de dire que normalement, si l'on définit une couleur, des guillemets doubles seraient nécessaires en JS.

29voto

Ian Oxley Points 5659

Vous trouverez peut-être que votre code est plus facile à maintenir si vous conservez tous vos styles, etc. en CSS et si vous vous contentez de définir ou de supprimer les noms de classe en JavaScript.

Votre CSS serait évidemment quelque chose comme :

.highlight {
    background:#ff00aa;
}

Puis en JavaScript :

element.className = element.className === 'highlight' ? '' : 'highlight';

2 votes

Je dirais que l'endroit où le mettre est évident - n'importe où après le HTML que vous voulez modifier.

1 votes

Ceci est valable dans la plupart des cas, mais pas dans les cas où la couleur (ou tout autre attribut) est définie dans la configuration, ou saisie par l'utilisateur, vous ne pouvez pas créer une classe CSS pour chaque couleur possible ;)

24voto

tags2k Points 11036
var element = document.getElementById('element');
element.style.background = '#FF00AA';

20voto

Wally Lawless Points 3205

Ou, en utilisant un peu de jQuery :

$('#fieldID').css('background-color', '#FF6600');

0 votes

Très probablement, puisque le PO a demandé du Javascript ;)

7voto

james.garriss Points 3647

Ajoutez cet élément script à votre élément body :

<body>
  <script type="text/javascript">
     document.body.style.backgroundColor = "#AAAAAA";
  </script>
</body>

Prograide.com

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.

Powered by:

X