2011-06-12 16 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/

相关问题