对象#<htmldivelement>没有方法'css'</htmldivelement>

时间:2013-01-02 01:35:50

标签: jquery html css

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

每次我在此div上鼠标悬停(或退出)时,Chrome控制台都会让我回复标题中的错误。我认为div个对象有一个css()方法,我觉得这种情况真的很混乱。

2 个答案:

答案 0 :(得分:8)

而不是(this).css({...});

您需要$(this).css({...});才能使用jQuery。

如果将jQuery重新映射到$以外的其他内容,请使用 jQuery(this).css({...});

答案 1 :(得分:1)

$添加到(this),即$(this)

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

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