单击jQuery中的事件未按预期工作

单击jQuery中的事件未按预期工作,jquery,events,click,fadeout,Jquery,Events,Click,Fadeout,我的页面中有一个div和一个锚链接,并且我正确地引用了jQuery。 是这样的: <div id="tools"></div> <!---- which has width and height , .. ---> <a class="navtab" href="#" id="onoff">Forum Tools</a> 然后我把这个代码: <script> $("#onoff").click(function {

我的页面中有一个div和一个锚链接,并且我正确地引用了jQuery。 是这样的:

<div id="tools"></div> <!---- which has width and height , .. --->
<a class="navtab" href="#" id="onoff">Forum Tools</a>

然后我把这个代码:

<script>
$("#onoff").click(function {
   $("#tools").fadeOut(2000);
});
</script>

$(“#onoff”)。单击(函数{
$(“#工具”)。淡出(2000年);
});
我希望当我点击链接时,div会在2秒钟后消失。但是什么也没发生。。 但是,当我将其用作一个简单的语句而没有任何事件时,它会完美地工作:

<script>
$("#tools").fadeOut(2000);
</script>

$(“#工具”)。淡出(2000年);
为了确保没有问题,我将整个代码放入.load事件中:

<script>
$(document).ready(function() {
$("#onoff").click(function {
   $("#tools").fadeOut(2000);
});
});
</script>

$(文档).ready(函数(){
$(“#onoff”)。单击(函数{
$(“#工具”)。淡出(2000年);
});
});
但仍然没有机会:|

我的代码怎么了?
任何帮助都将不胜感激。

您在
函数之后缺少括号

$("#onoff").click(function {
应该是

$("#onoff").click(function() {
您需要在单击(函数)后添加()

此外,如果您不使用,浏览器支持可能会出现问题:

<script type="text/javascript">

在调用任何jQuery功能之前,始终确保包含jQuery文件:

<script type="text/javascript" src="/path/to/my/jquery.js"></script>
<script type="text/javascript">
  $(document).ready(function(){
    $("#onoff").click(function(){
      $("#tools").fadeOut(2000);
    });
  });
</script>

$(文档).ready(函数(){
$(“#onoff”)。单击(函数(){
$(“#工具”)。淡出(2000年);
});
});
全功能示例:


你确定这就是你的全部代码吗?因为据我所知,没有
$(document).ready(function(){/*code放在这里*/});
你的代码在DOM准备好之前,在任何元素出现以绑定事件之前,正在按遇到的方式运行。另外,在你的第一个代码块中,你漏掉了括号
()
应该在您的函数之后和开始曲括号之前
{
。我看不出你的代码有什么明显的错误。你的页面上有多个ID为
onoff
的元素吗?这是我能想到的最可能的原因。@DavidThomas他说
标记在元素的HTML之后,所以它们在代码执行时会存在。@Anthony:啊,是的。我……应该是的来Stackoverflow之前先喝点酒,嗯?=/@DavidThomas谢谢david。你说得对,这是一个小错误,而且带有比喻。
<script type="text/javascript">
<script type="text/javascript" src="/path/to/my/jquery.js"></script>
<script type="text/javascript">
  $(document).ready(function(){
    $("#onoff").click(function(){
      $("#tools").fadeOut(2000);
    });
  });
</script>