Internet Explorer表示Object不支持此属性或方法

这条线是79:

window.addEvent('domready', function(){ mySlide = new Fx.Slide('advert'); mySlide.hide(); }); 

它也不喜欢这一行:

 this.wrapper = new Element('div', { 'styles': $extend( this.element.getStyles('margin'), {'overflow': ''} ) }) .injectAfter(this.element) .adopt(this.element); 

有谁知道为什么会这样? 有谁知道如何解决这一问题? 我正在使用jQuery和Mootools ..并且想要一个解决方案。

如果你在IE浏览器上登陆,同时拼命搜索IE中出现此错误的原因,请允许我指出另一种方法。 希望,我发布此内容的任何行为都可以帮助我记住这一点,或者下次遇到此错误时,这个问题会出现在谷歌中。 它似乎至少每两年发生一次。

如果你已经命名了一个变量(不确定它是否必须是全局的,我的这个时间)与元素的ID相同,这可能会显示出来。 例如:

 

在文件中的这一特定行之前是否包含jQuery / mooTools? 它看起来像你在包含它所依赖的框架之前已经包含了一个插件或其他javascript。 我假设您在noConflict()模式下也使用jQuery,因为您同时使用jQuery和mooTools。

关于变量名称的早期答案的+1。 这在IE8中:

 title = button.attr('title'); <-- Object doesnt support this method $title = button.attr('title'); <-- OK! 

如果您尝试为样式属性指定无效值,则通常会在IE中出现此错误。 如果您正在使用IE8并且已启用在tools-> options-> advanced下启用javascript调试,那么您可以尝试调试它并查看哪个属性赋值引发此错误,然后尝试纠正此问题。

如果您在变量列表中没有逗号,例如下面的’f’变量,也会发生这种情况:

 var a = 'aaaa', f = 'ffff' b = someObject.attribute; 

只是对话的快速补充。

在某些情况下(想到video.js / bigvideo.js)你需要在jQuery或jQuery UI之前运行modernizr.js作为你的第一个脚本。 清理事情吧。

(MooTools的)

我的代码是这样的:

 var cancel; //... bla bla cancel = form.elements[i]; //cancel is now a  

我在cancel.AddEvent()上获得了OP的exception。 为我修复的是将其重写为$(cancel).addEvent()

多么可怕的浏览器。

好像你没有真正利用jQuery。 我不会说mooTools,所以我可能不会完全正确,但我会尝试这样的事情:

 jQuery(document).ready( function() { //you could convert this to jQuery too, of course mySlide = new Fx.Slide('advert'); mySlide.hide(); } ); jQuery(this).wrap( '
' ) .parent('.overflow-wrapper').css('overflow', '' );