我有一个简单的jquery点击事件

<script type="text/javascript">
    $(function() {
        $('#post').click(function() {
            alert("test"); 
        });
    });
</script>

以及在site.master中定义的jquery引用

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>

我已经检查了脚本被正确解析,我能够看到标记,并直接在firebug中查看脚本,所以我必须被发现。然而,我仍然得到:

$没有定义

jquery没有一个是有效的。我还尝试了它的各种变体,比如$(document)。ready和jQuery等。

这是一个。net 3.5上的MVC 2应用程序,我确信我真的很密集,谷歌上的所有地方都说要检查文件是否被正确引用,我已经检查了一遍又一遍,请建议!: /


当前回答

这意味着您的jQuery库还没有加载。

您可以在拖动jQuery库后移动代码。

或者你可以用这样的东西

window.onload = function(){
  // Your code here
  // $(".some-class").html("some html");
};  

其他回答

是否使用其他JavaScript库?如果是这样,你可能需要在兼容模式下使用jQuery:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

我得到了同样的错误消息,当我拼写错误的jQuery引用,而不是type="text/javascript",我键入"…javascirpt"。;)

在这里尝试了所有方法都没有结果之后,我简单地通过将脚本src标记从主体移动到头部来解决了这个问题

jQuery似乎无法正常加载。您使用的是哪个源/版本?

或者,它可能是名称空间冲突,所以尝试显式使用jQuery而不是使用$。如果这可以工作,您可能喜欢使用noConflict来确保使用$的其他代码不会中断。

确保你真的加载了jquery 这不是jquery——这是ui!

  <script language="JavaScript" 
    src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js">
  </script>

这是一个正确的jquery脚本源代码:

 <script language="JavaScript"  src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>