jquery“$(document).ready(function(){”在IE中不起作用

时间:2011-03-25 09:30:25

标签: javascript jquery internet-explorer document-ready

我正在使用MVC 2框架并添加了一些用于扩展div的javascript。它在firefox,chrome,opera和safari中运行良好,但在Internet Explorer中却没有。我得到一个'对象预期'错误。这是我的代码

jquery导入位于site.master文件中

 <head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />   
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" charset="utf-8"></script>

在mvc视图中的Javascript:测试警报在IE中出现,但test2没有出现。

   <script type="text/javascript">
    alert("test");

    $(document).ready(function () {
        alert("test2");
        $(".expandingcontent").hide();

        $(".divexpand").click(function () {
            var divID = "#" + $(this).attr("id").substring(6);
            if ($(divID).is(":hidden")) {
                $(divID).slideDown("slow");
            } else {
                $(divID).hide();
            }
        });
    });
</script>     

我尝试将javavscript放在页面的边缘,最后似乎没有任何效果。我也试过使用暂停,但也没有成功。我正在使用IE 8,非常感谢任何帮助谢谢!

4 个答案:

答案 0 :(得分:3)

您对Google CDN资源的引用有误,特别是如果您的网站使用的是SSL 像这样改变你的参考,它应该有效。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

因为,

  

这不是简单的阅读,但是   section 4.2 of RFC 3986规定   省略的完全限定的URL   协议(HTTP或HTTPS)   共。当URL的协议是   省略,浏览器使用   基础文件的协议   代替。

戴夫沃德解释得更多:Cripple the Google CDN’s caching with a single character

P.S:最好使用Google CDN和a local fallback resource in case CDN fails来加载

答案 1 :(得分:2)

可能是因为它无法加载jquery.js?尝试下载并将其作为本地资源。

答案 2 :(得分:1)

确保在执行$(document).ready函数之前包含jquery脚本文件。

答案 3 :(得分:1)

在我的情况下,我在JS中有一个无关的console.log,它在IE中悄然爆发。这令人困惑,因为当我启用IE开发人员工具时,它神奇地开始工作。无论如何,检查一下。