仅在IE8中使用jQuery的“对象预期”错误

时间:2013-08-02 15:16:52

标签: javascript jquery html internet-explorer internet-explorer-8

我只在IE中遇到错误(v8,我不知道它是否发生在旧的IE版本中,但它不会发生在Chrome或Firefox中),当我使用IE开发工具时,它会给我带来以下消息debbuger:

Breaking on JSScript runtime error - Object Expected

以下是我受影响的代码:

$('#deviceProfileSelection').change(function() { //affected line!!!!
// rest of my code...
});

此元素#deviceProfileSelection定义如下:

<select id="deviceProfileSelection">
   <option value=""><?php echo getSysMessage("dropDownSelect")?></option>
   <!-- and other values...-->
</select>

我已经尝试将.change监听器定义为$(document).ready(function () {});,但根本没有成功。还有其他想法吗?

修改

我试图使用PHP决策结构包含div,如果条件为真,则应该打印div。但是,实际上它不是打印,我的意思是,它不打印开始标记'div',只打印结束标记'div'。

浏览器可以解释这个错误,但是IE8和IE无能为力导致了这个问题。

5 个答案:

答案 0 :(得分:2)

问题是你根本没有在代码中添加jQuery。 在<head>标记内添加以下内容:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>

那应该解决你的问题。

答案 1 :(得分:1)

检查以下内容:

  1. 执行此代码时是否包含jQuery? (我会在$上发出提醒,看看你得到了什么)
  2. 确保deviceProfileSection元素存在。

答案 2 :(得分:1)

我之前遇到过与IE8类似的问题,如果是同样的问题,它找不到jquery库,检查你的路径或用cdn测试它

答案 3 :(得分:1)

我在IE8中尝试了以下代码,它的工作方式与预期一致。正如其他答案中所建议的那样,我使用了与JQuery CDN中的IE8兼容的最新版本的JQuery。不要使用2.x - 它不适用于旧版浏览器。另外,请确保您的更改事件代码位于document.ready处理程序中。

<html>
    <head>
        <title>IE8 Object Expected</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
        <script type="text/javascript">
            $(function(){
                $("#deviceProfileSelection").change(function(){
                    console.log("#deviceProfileSelection changed to " + $(this).find(":selected").text());
                });
            });
        </script>
    </head>
    <body>
        <form>
            <select id="deviceProfileSelection">
                <option value="">Select...</option>
                <option value="1">One</option>
                <option value="2">Two</option>
                <option value="3">Three</option>
            </select>
        </form>
    </body>
</html>

答案 4 :(得分:0)

正因为没有人重复我的错误,因为你正在使用来自外部网站的jquery(src =&#34; http://code.jquery.com/jquery-1.10.2.min.js&#34;),请确保你的互联网正常运行