Objet #<HTMLDivElement> n'a pas de méthode 'css'
$('#someDiv').hover
(function(){
(this).css({'background-color': 'black'});
},
function(){
(this).css({'background-color': 'red'});
}
);
Chaque fois que j'ai du passage de la souris (ou en dehors) sur ce div
, Chrome console me donne de nouveau l'erreur dans le titre. Je pensais que div
les objets ont une css()
méthode, et je trouve cette situation vraiment déroutant.
- DIV éléments n'ont pas
.css()
méthode. Cette méthode est fournie sur jQuery objets.
Vous devez vous connecter pour publier un commentaire.
Au lieu de
(this).css({...});
Vous avez besoin
$(this).css({...});
utiliser jQuery.Si jQuery est ramené à quelque chose d'autre que
$
, l'utilisationjQuery(this).css({...});
Ajouter un
$
à(this)
, c'est à dire$(this)
.À l'intérieur de votre gestionnaire d'événements,
this
fait référence à l'origine objet DOM (HTMLDivElement
, comme les états d'erreur), et non pas un objet jQuery. Emballage en utilisant $() fera l'css()
méthode disponible parce que maintenant le sous-jacent DOM objet est contenu dans un jQuery wrapper qui expose d'autres fonctionnalités.Démo: http://jsfiddle.net/S7zd8/1/