有趣的是,如果我从左侧面板中选择最新的jQuery选项,它在jsfiddle上运行得很好。 该网站基本上是一个运行此菜单功能的测试页面。 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/
答案 0 :(得分:4)
这是因为执行脚本时没有a.expand
元素,因为元素是在之后声明的。
将代码放在正文末尾,或使用a ready callback将其更改为
<script>
$(function(){
$('a.expand').hover(function() {
$('#Menu').slideToggle();
});
});
</script>
写$(function(){ somecode });
要求jQuery在DOM准备就绪时执行somecode
。