对象预期IE8 JS / JQuery问题IE8

这是我在这里的第一篇文章,虽然我浏览了很多答案。 我遇到了IE8将继续抛出“预期的对象”错误的问题。 我使用IE8的开发人员工具,它指向“mymh.js”文件

  

mymh.js文件只有以下代码

  $(document).ready(function() { $('#hNumber').focus(); $('#ddlDir').change(function () { var selVal = $('#ddlDir').val(); if (selVal == 'N' || selVal == 'S' || selVal == 'E' || selVal == 'W'){ $.getJSON('/MyMHome/DimeServlet?strDir='+$('#ddlDir option:selected').val(), function(data) { $('#ddlSt') .find('option') .remove() .end() $.each(data, function(i,field){ var name = field; $('#ddlSt') .append('' + name + ''); }); }); $('#ddlSt').focus(); }else{ $('#ddlSt') .find('option') .remove() .end() .append('Choose a direction first'); } }) .trigger('change'); $('#reset').click(function(){ $('#ddlSt') .find('option') .remove() .end() .append('Choose a direction first'); $('#hNumber').focus(); }); $('#hNumber').bind('keyup', function() { if($('#hNumber').val().length == 5){ $('#ddlDir').focus(); } }); $('#submitQuery').click(function(){ var houseNumber = $('#hNumber').val(); if(houseNumber.replace(/\s+/g, '').length == 0){ alert('Please enter a house number.'); $('#hNumber').focus(); return false; }else if( (!$.isNumeric(houseNumber)) || houseNumber.indexOf('-') > -1 || houseNumber.indexOf('.') > -1){ alert('Please enter numbers only. You will be prompted later, if the address requires a suffix.'); $('#hNumber').focus(); return false; }else if(houseNumber  12999){ alert('Please enter a house number between 100 and 12999'); $('#hNumber').focus(); return false; }else if($('#ddlDir option:selected').val() == 'none'){ alert('Please select a street direction.'); $('#ddlDir').focus(); return false; } }); $('form').keypress(function(e) { if (e.keyCode == '13') { e.preventDefault(); if($('#ddlSt').is(":focus")){ $('#submitQuery').trigger('click'); } else{ return false; } } }); }); 

错误指向但在调试器中它指向$document.ready(function() {

任何人都看到为什么IE8会继续抛出该错误有什么不对?

尝试在第16行的末尾放置分号

 $('#ddlSt') .find('option') .remove() .end() $.each(data, function(i,field){ 

 $('#ddlSt') .find('option') .remove() .end(); $.each(data, function(i,field){ 
 $(document).ready(function() { }); 

由于以下原因,此语句可能会抛出Object Expected错误:

首先,如果我们链接到外部javascript文件(例如jquery-1.8.2.min.js)不正确。 确保您的链接位于正确的路径。 我将文件保存在“js”文件夹中并将路径指定为:

  

其次,如果我们将脚本标记写为:

  

代替

  

我在IE8中使用jQuery 2.0.0时遇到了这个问题。 根据jQuery网站“jQuery 2.x不支持Internet Explorer 6,7或8”。 用jQuery 1.10.2替换jQuery 2.0.0为我解决了这个问题。

有点旧的post,但它可能派上用场的人方便,我有同样的问题,我删除了脚本标签中的延迟属性。

  

成:

  

这对我有用。

这可能不相关,但我刚刚解决了与IE8相同的问题 – 在IE9上运行良好的代码以及IE8上的其他一切都被扼杀了。

答案就像改变一样简单

    

   

…换句话说,JQuery首先。 这解决了我的问题; 因人而异。