2013-01-12 51 views
0

可能重复:
jQuery not even being called为什么jQuery不能在我的网站上工作?

有趣的是,上的jsfiddle它完美的作品,如果我选择从左侧面板最新的jQuery选择。 该网站基本上是一个测试页面来运行这个菜单功能。 HTML:

<script src="http://code.jquery.com/jquery.min.js"></script> 
<script> 
    $('a.expand').hover(function() { 
    $('#Menu').slideToggle(); 
}); 



</script> 
<a href="" class="expand"> 
<p>hello!</p> 
</a> 
<div id="Menu"> 
wowtest 
</div> 

这是一个PHP文件,如果没有什么帮助。

的jsfiddle:http://jsfiddle.net/txeD9/

回答

4

这是因为,当你执行脚本,因为元素后声明没有a.expand元素。

把你的代码在身体的末端,或者使用a ready callback通过改变它

<script> 
    $(function(){ 
    $('a.expand').hover(function() { 
     $('#Menu').slideToggle(); 
    }); 
    }); 
</script> 

写作$(function(){ somecode });要求jQuery来执行somecode当DOM已准备就绪。

+0

不与a.expand相关的类属性?并确定将尝试 – bnynn

+1

的问题是DOM(页面元素)尚未出现,当你运行你的脚本。 –

+0

谢谢!使用准备好的回调它它工作!并感谢这个信息,这将有助于未来。 – bnynn

0

这条线需要是<head>标签

<script src="http://code.jquery.com/jquery.min.js"></script> 

然而,这线需要在页面加载后执行这样无论是把它放在</body>后或使用内部

$(window).load(function(){ 
//your code 
}); 
相关问题