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

我每次都要鼠標懸停(或縮小),瀏覽器控制檯給我回了錯誤的稱號。我認爲div對象有一個css()方法,我覺得這種情況真的很混亂。對象#<HTMLDivElement>對這個<code>div</code>沒有方法「CSS」

+0

DIV元素沒有一個'的.css()'方法。該方法在jQuery對象上提供。 –

回答

8

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

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

如果jQuery是重新映射到比$其他的東西,用 jQuery(this).css({...});

1

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

在您的事件處理程序中,this引用原始DOM對象(HTMLDivElement,因爲錯誤狀態),而不是jQuery對象。使用$()包裝它將使得css()方法可用,因爲現在基礎DOM對象包含在一個公開其他功能的jQuery包裝器中。

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

相關問題