J'essaye de changer le CSS en utilisant jQuery:
$(init);
function init() {
$("h1").css("backgroundColor", "yellow");
$("#myParagraph").css({"backgroundColor":"black","color":"white");
$(".bordered").css("border", "1px solid black");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="bordered">
<h1>Header</h1>
<p id="myParagraph">This is some paragraph text</p>
</div>
Qu'est-ce que j'oublie ici?
javascript
jquery
css
user449914
la source
la source
Réponses:
Ignorez les personnes qui suggèrent que le nom de la propriété est le problème. La documentation de l'API jQuery indique explicitement que l'une ou l'autre notation est acceptable: http://api.jquery.com/css/
Le problème réel est qu'il vous manque une accolade fermante sur cette ligne:
Changez-le en ceci:
Voici une démo fonctionnelle: http://jsfiddle.net/YPYz8/
la source
paddingTop
tant que x nombre de px? Chaque type de syntaxe que j'ai essayé a entraîné une erreur.$("#main").css({paddingTop: (var_name+20) + "px"});
Vous pouvez faire soit:
Ou:
la source
{"backgroundColor": "yellow"}
est valide, bien que superflu.{foo: "bar"}
c'est la même chose que{"foo": "bar"}
.Pour clarifier un peu les choses, car certaines des réponses fournissent des informations incorrectes:
La méthode jQuery .css () permet l'utilisation de la notation DOM ou CSS dans de nombreux cas. Donc, les deux
backgroundColor
etbackground-color
feront le travail.De plus, lorsque vous appelez
.css()
avec des arguments, vous avez deux choix quant à ce que les arguments peuvent être. Il peut s'agir de 2 chaînes séparées par des virgules représentant une propriété css et sa valeur, ou il peut s'agir d'un objet Javascript contenant une ou plusieurs paires clé / valeur de propriétés et valeurs CSS.En conclusion, le seul problème avec votre code est un fichier manquant
}
. La ligne doit lire:Vous ne pouvez pas laisser les accolades, mais vous pouvez laisser les guillemets autour
backgroundColor
etcolor
. Si vous utilisez,background-color
vous devez mettre des guillemets autour de celui-ci à cause du trait d'union.En général, c'est une bonne habitude de citer vos objets Javascript, car des problèmes peuvent survenir si vous ne citez pas un mot-clé existant .
Une note finale est celle de la méthode jQuery .ready ()
est synonyme de:
ainsi qu'avec une troisième forme non recommandée.
Cela signifie que
$(init)
c'est tout à fait correct, puisqueinit
c'est le gestionnaire dans cette instance. Donc,init
sera déclenché lors de la construction du DOM.la source
Lorsque vous utilisez la propriété Multiple css avec jQuery, vous devez utiliser l'accolade bouclée au début et à la fin. Il vous manque l'accolade de fin.
Vous pouvez jeter un œil à ce didacticiel jQuery CSS Selector .
la source
La
.css()
méthode facilite la recherche et la définition des propriétés CSS et, combinée à d'autres méthodes telles que .animate (), vous pouvez créer des effets sympas sur votre site.Dans sa forme la plus simple, la
.css()
méthode peut définir une seule propriété CSS pour un ensemble particulier d'éléments correspondants. Vous passez simplement la propriété et la valeur sous forme de chaînes et les propriétés CSS de l'élément sont modifiées.$('.example').css('background-color', 'red');
Cela définirait la propriété 'background-color' sur 'red' pour tout élément ayant la classe 'example'.
Mais vous n'êtes pas limité à changer une propriété à la fois. Bien sûr, vous pouvez ajouter un tas d'objets jQuery identiques, chacun ne changeant qu'une propriété à la fois, mais cela fait plusieurs appels inutiles au DOM et c'est beaucoup de code répété.
Au lieu de cela, vous pouvez transmettre à la
.css()
méthode un objet Javascript qui contient les propriétés et les valeurs sous forme de paires clé / valeur. De cette façon, chaque propriété sera ensuite définie sur l'objet jQuery en une seule fois.Cela changera toutes ces propriétés CSS sur les éléments '.example'.
la source
Je voulais juste ajouter que lorsque vous utilisez des nombres pour des valeurs avec la méthode css, vous devez les ajouter en dehors de l'apostrophe, puis ajouter l' unité CSS dans les apostrophes.
ou
la source
la source
$ (". radioValue"). css ({"background-color": "- webkit-linear-gradient (# e9e9e9, rgba (255, 255, 255, 0.43137254901960786), # e9e9e9)", "color": "# 454545 "," padding ":" 8px "});
la source
la source
mauvais code:
$("#myParagraph").css({"backgroundColor":"black","color":"white");
il manque
"}"
aprèswhite"
changez-le en ceci
la source