php - 为什么 jQuery 在我的网站上不起作用?

标签 php javascript jquery html slidetoggle

Possible Duplicate:
jQuery not even being called

有趣的是,在 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/

最佳答案

这是因为执行脚本时没有 a.expand 元素,因为这些元素是在之后声明的。

将代码放在正文末尾或使用 a ready callback将其更改为

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

编写 $(function(){ somecode }); 要求 jQuery 在 DOM 准备就绪时执行 somecode

关于php - 为什么 jQuery 在我的网站上不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14296965/

相关文章:

php - 多字值问题汇总

php - 如何将绝对系统路径转换为 ​​IShellFolder?

javascript - 如何使用 Sequelize 通过原始查询获取最后插入的 ID?

javascript - 在文本框中加载 ajax 请求

javascript - 节内的节

javascript - 如何用 jQuery 替换事件处理程序?

php - 错误的 ELF 类 - PHP 扩展

php - 如何在文件中包含 php 别名

javascript - NodeJS 'Cron' 包 - 每 20 秒运行一次的计划作业

javascript - 如何在 Typescript 中创建自定义对象数组