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)

在您的事件处理程序中,this指的是原始 DOM 对象(HTMLDivElement错误状态为 ),而不是 jQuery 对象。使用 $() 包装它将使该css()方法可用,因为现在底层 DOM 对象包含在暴露其他功能的 jQuery 包装器中。

演示:http: //jsfiddle.net/S7zd8/1/

于 2013-01-02T01:39:03.937 回答