getElements不是IE中支持的属性或方法
getElements is not a supported property or method in IE
当页面仅在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');
干杯!
相关文章:
- 为什么NgModelController属性/方法以$开头
- 如何使用设置属性方法在jquery中更改css
- 全局向对象添加属性/方法
- AngularJS $http.delete 在“类型错误:无法分配给只读属性'方法'”中中断
- 添加属性/方法的明确最佳方法
- 扩展类时继承而不是覆盖属性/方法
- Javascript子类对象不保留基类的属性/方法
- 将模型属性方法发送到客户端 Sails Angular
- 错误:参数 4 的值无效.属性“方法”:意外属性
- 类型错误:无法读取 nodejs 应用程序中未定义的属性“方法”
- 属性/方法无法初始化indexedDB
- 在javascript中定义属性方法的适当模式;类”;
- 创建两个函数来计算对象属性/方法
- 当getElementById返回null时,取消对属性/方法的访问
- 自定义属性方法如何在Sails js中工作
- 通过js中的数组属性方法进行迭代
- 为什么要添加属性/方法到视图模型AFTER定义
- 在Angular中,在闭包中引用服务属性/方法最合适的方式是什么?
- 列出一个对象的所有属性/方法
- Javascript:添加属性方法问题