$('#someDiv').hover
(function(){
(this).css({'background-color': 'black'});
},
function(){
(this).css({'background-color': 'red'});
}
);
每次我在此div
上鼠标悬停(或退出)时,Chrome控制台都会让我回复标题中的错误。我认为div
个对象有一个css()
方法,我觉得这种情况真的很混乱。
答案 0 :(得分:8)
而不是(this).css({...});
您需要$(this).css({...});
才能使用jQuery。
如果将jQuery重新映射到$
以外的其他内容,请使用
jQuery(this).css({...});
答案 1 :(得分:1)
将$
添加到(this)
,即$(this)
。
在事件处理程序中,this
引用原始DOM对象(HTMLDivElement
,作为错误状态),而不是jQuery对象。使用$()包装它将使css()
方法可用,因为现在底层DOM对象包含在公开其他功能的jQuery包装器中。