Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在internet explorer中为null或不是对象,但在firefox中不是_Javascript_Firefox_Internet Explorer 8 - Fatal编程技术网

Javascript 在internet explorer中为null或不是对象,但在firefox中不是

Javascript 在internet explorer中为null或不是对象,但在firefox中不是,javascript,firefox,internet-explorer-8,Javascript,Firefox,Internet Explorer 8,当运行javascript代码时,我在IE only中遇到以下错误:“thisList.name在第297行字符2处为null或不是对象(注释为-tableTotal[thisList.name]=0的行)”。不过,它在Firefox中运行良好。下面是我的代码: var groupTable = {}; var groupFS = {}; var tableTotal = {}; var grandTotal = 0; $.each(allLists, function(index) {

当运行javascript代码时,我在IE only中遇到以下错误:“thisList.name在第297行字符2处为null或不是对象(注释为-tableTotal[thisList.name]=0的行)”。不过,它在Firefox中运行良好。下面是我的代码:

var groupTable = {};
var groupFS = {};
var tableTotal = {};
var grandTotal = 0;

$.each(allLists, function(index) {
     thisList=allLists[index];
     tableTotal[thisList.name]=0;//This line throw the error
     thisDiv=$("<div id='" +thisList.name+"'/>");

     fsString='<fieldset><legend>' + thisList.label;
     fsString+='<span class="legendneutral">';
     fsString+=' (span class="ui-button tableselect"  
          onclick="QtOptions.selectTable(this)">Select All&nbsp;</span>|'
     fsString+='<span class="ui-button tabledeselect" onclick
          ="QtOptions.deselectTable(this)>&nbsp;Deselect All)</span>)'
     fsString+='</span>
     fsString+='<legend></fieldset>' ;
     groupFS[thisList.name]=$(fsString);
     groupTable[thisList.name]=$("<table id='" +thisList.name+ "_table' class
        ='sortable' cellpadding='0' cellspacing='0'/>");
     tHead='<thead><tr style="font-size:12px;"><th style="width:6%;">Selected</th>
         </tr></thead>
     $(groupFS[thisList.name]).appendTo($(thisDiv));
     $(tHead).appendTo($(groupTable[thisList.name]));
     $(groupTable[thisList.name]).appendTo($(groupFS[thisList.name]));
     $(thisDiv).appendTo($(tabdiv));
     });
var-groupTable={};
var groupFS={};
var tableTotal={};
var-grandTotal=0;
$.each(所有列表、函数(索引){
thisList=所有列表[索引];
tableTotal[thisList.name]=0;//此行将抛出错误
thisDiv=$(“”);
fsString=''+thisList.label;
fsString+='';
fsString+='(span class=“ui按钮表选择”
onclick=“QtOptions.selectTable(this)”>全选|”

fsString+='虽然那一行给了你一个错误,但真正的问题不在这里——很可能是在你构建
所有列表
时,这里没有定义。请制作一个小的、完整的、自包含的演示来重现你的问题。什么是
所有列表
?其中的每个项目都有
名称
属性吗y?此列表应该是什么类型?您是如何填充AllList的?我的第一个猜测是,由于某些特定于浏览器的原因,您在AllList中有一个或多个空值。我猜
AllList
是一个数组,并且您在最后一项之后留下了一个尾随的
。某些版本的IE会错误地将成员添加到数组中。This会导致项目被迭代,因此
这个列表。name
会在
未定义的
上访问
。name
。所有列表都是问题所在。这是一个单独js文件中的数组,我注释掉了几行。一旦我取消注释,它在IE中就可以正常工作。非常感谢大家。