2011-06-12 29 views
1

我使用該網站的頭部區域下面的代碼(我也試過身體):這是什麼mouseover jquery代碼不工作?

<script> 
$(document).ready(function() { 
    $(function(){ 
    $("#h1").mouseover(function() { 
    $("#h1").css("color","red"); 
    }); 
    }); 
    }); 
</script> 

我也是用這個作爲股利(按鈕):

<div class="button" id="h1"><strong>Home</strong></div> 

爲什麼當我將鼠標懸停在字體上時字體不會變爲紅色? (原始顏色爲白色)

+1

當你的腳本執行?如果你不把它放在$(function(){...你的處理函數在這裏...});並且在構建DOM之前執行,您可以將偵聽器附加到尚不存在的事物上。 – kinakuta 2011-06-12 03:50:25

+0

謝謝,我試過了,但它似乎仍然不起作用,我可能做錯了什麼。我在上面更新了它。 – 2011-06-12 03:55:04

+0

正確答案。一旦將腳本包裝在$(document).ready(function(){})中;這會正常工作。 – Khepri 2011-06-12 03:55:22

回答

2

當內聯腳本代碼運行時,jQuery沒有找到任何結果來綁定mouseover。

你需要用你的嵌入式腳本在這樣的的document.ready電話:

$(document).ready(function() { 
    $("#h1").mouseover(function() { 
     $("#h1").css("color","red"); 
    }); 
}); 

Ready about jQuery's ready function

2

你需要用的document.ready裏面。問題在於,您正試圖在創建元素之前將處理程序附加到元素。

你應該閱讀文檔的準備更好地瞭解:

http://api.jquery.com/ready/

相關問題