Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 无法使forEach在IE上正常工作_Javascript_Jquery_Html_Css_Arrays - Fatal编程技术网

Javascript 无法使forEach在IE上正常工作

Javascript 无法使forEach在IE上正常工作,javascript,jquery,html,css,arrays,Javascript,Jquery,Html,Css,Arrays,我在我的代码中完成了一个active/disable功能,它在Chrome/Firefox上都能很好地工作,但由于某些原因,我在使用forEach时在IE中遇到了一个错误 以下是IE上显示的错误: 在Chrome和Firefox上,div突出显示框,下面显示正确的框。 以下是我正在使用的代码: 严格使用; var tabButtons=document.querySelectorAll'.navlinksGP>a'; 功能启用TabButtonButtonId{ tabButtons.fo

我在我的代码中完成了一个active/disable功能,它在Chrome/Firefox上都能很好地工作,但由于某些原因,我在使用forEach时在IE中遇到了一个错误

以下是IE上显示的错误:

在Chrome和Firefox上,div突出显示框,下面显示正确的框。

以下是我正在使用的代码:

严格使用; var tabButtons=document.querySelectorAll'.navlinksGP>a'; 功能启用TabButtonButtonId{ tabButtons.forEachfunctionbtn{ 如果btn.id==按钮id{ btn.disabled=true; btn.style.background='eeaf00'; btn.style.color='ffffffff'; }否则{ btn.disabled=false; btn.style.background='ffffffff'; btn.style.color='eeaf00'; } }; } 启用选项卡按钮“word”; var player=document.getElementById'player'; 函数wButtoneElement{ 使能按钮元素; 如果元素===字{ player.innerHTML=品牌与消费者营销; }
没有任何版本的Internet Explorer支持在节点列表上使用forEach,这是从querySelectorAll返回的


有一个polyfill可以解决这个问题:

因为你已经用关键字jQuery标记了这个问题,我将用jQuery回答你的问题:- 如果符合您的需要,请检查以下解决方案。适用于IE11以及所有其他更现代的浏览器

严格使用; var tabButtons=document.querySelectorAll'.navlinksGP>a'; 功能启用TabButtonButtonId{ $tabButtons.eachfunction{ //console.log$this.attrid; 如果$this.attrid==buttonId{ $this.propdisabled,true; $this.cssbackground-color,eeaf00; $this.csscolor,ffffff; }否则{ $this.propdisabled,false; $this.cssbackground-color,ffffffff; $this.csscolor,eeaf00; } }; } 启用选项卡按钮“word”; var player=document.getElementById'player'; 函数wButtoneElement{ 使能按钮元素; 如果元素===字{ player.innerHTML=品牌与消费者营销; } }
试着使用forEachIf的每个函数instade如果是这样的话,那么只需将结果分散到一个数组中即可:[……tabButtons].forEach@IceMetalPunk是的,但spread运算符在IE中也不起作用:D我可能比任何人都更讨厌IE。JonShow,这实际上在Windows 7 IE 11上也能很好地工作!非常感谢!出于某种原因,在加载时,除非我单击“word”div,否则它不会突出显示,然后会发生变化。你知道原因吗?enableTabbutton'单词“;被叫来了。弄明白了:DGlad我可以帮忙!