1
$('#someDiv').hover 
  (function(){
    (this).css({'background-color': 'black'});
  }, 
  function(){
     (this).css({'background-color': 'red'});
  }
);

この上でマウスオーバー (またはアウト) するたびにdiv、Chrome コンソールでタイトルにエラーが返されます。divオブジェクトにはメソッドがあると思っていましたが、css()この状況は本当に混乱しています。

4

2 に答える 2

8

それ以外の(this).css({...});

$(this).css({...});jQueryを使用 する必要があります。

jQueryが以外のものに再マップされる場合は$jQuery(this).css({...});

于 2013-01-02T01:39:19.840 に答える
1

にを追加し$ます。(this)つまり、$(this)

イベントハンドラー内で、jQueryオブジェクトではなく、this元のDOMオブジェクト(エラー状態として)を参照します。HTMLDivElement$()を使用してラップすると、css()メソッドが使用可能になります。これは、基になるDOMオブジェクトが他の機能を公開するjQueryラッパーに含まれているためです。

デモ: http: //jsfiddle.net/S7zd8/1/

于 2013-01-02T01:39:03.937 に答える