getElements不是IE中支持的属性或方法

getElements is not a supported property or method in IE

本文关键字:属性 方法 支持 不是 IE getElements      更新时间:2023-09-26

当页面仅在IE中查看时,我有一个JavaScript问题。我得到这个:

对象不支持此属性或方法

在我的JavaScript代码中产生这个错误的行是:
var panels = $('collapser').getElements('div.menuTable');

上面的代码试图在collapser元素中获取类为menuTable的所有div元素。

似乎IE不喜欢getElements方法!

这是HTML中页面的相关部分:

<div id="collapser" class="text2"> 
    <h2 class="menu">system features1</h2> 
    <div id="div145fgjd584rgd" class="menuTable">
     ...
    </div>
    <h2 class="menu">system features2</h2> 
    <div id="div2sf54685454rtyt" class="menuTable">
     ...
    </div>
</div>

在ie6, 7和8(部分),元素。原型是被禁止的,或者元素不能从原型的改变中获益。

作为一种解决方案,MooTools将所有Element.prototype方法复制到每个IE元素对象,当它通过选择器($,$$)或当它被创建(元素构造器)访问时。

基本上:$("collapser")document.id("collapser")new Element('div#collapser')也会复制方法和设置元素存储等-这是一次性操作。

这让我相信你的$()函数不是mootools的一个。

例如:

this.$ = document.getElementById;
$("collapser").getElements("div"); // exception in IE6/7/8

它是什么版本的mootools ?console.log($);//是mootools那个吗?

你也可以这样做:

var panels = document.getElements('#collapser div.menuTable');

我修改了我的代码:

var ie8 = jQuery.browser.msie &&jQuery.browser.version == "8.0";Var面板= (ie8 ?$("崩溃")。document: $('collapser')).getElements('div.menuTable');

干杯!