$('#someDiv').hover
(function(){
(this).css({'background-color': 'black'});
},
function(){
(this).css({'background-color': 'red'});
}
);
每次我把鼠标移到这个div
上(或移出),Chrome控制台给我回标题中的错误。我认为div
对象有一个css()
方法,我发现这种情况真的很混乱。
代替(this).css({...});
你需要$(this).css({...});
来使用jQuery。
如果jQuery被重新映射到$
以外的东西,使用jQuery(this).css({...});
为(this)
添加$
,即$(this)
。
在事件处理程序中,this
引用原始DOM对象(错误状态为HTMLDivElement
),而不是jQuery对象。使用$()包装它将使css()
方法可用,因为现在底层DOM对象包含在一个暴露其他功能的jQuery包装器中。
演示:http://jsfiddle.net/S7zd8/1/