getElementsBySelector 在 IE 8 中失败

getElementsBySelector failing in IE 8

本文关键字:失败 IE getElementsBySelector      更新时间:2023-09-26

我正在处理Internet Explorer 8,我有以下代码:

this.scrolling  = false;
    this.wrapper    = $(wrapper);
    //this.scroller = this.wrapper.down('div.elscroller');
    if (this.wrapper.querySelectorAll('div.elscroller') != null ) {
        this.scroller   = this.wrapper.querySelectorAll('div.elscroller');
    }
    this.sections   = this.wrapper.getElementsBySelector('div.seccion');

这在Chrome和Firefox中工作正常,但是IE抛出:对象不支持此属性或方法,在此行中:this.sections = this.wrapper.getElementsBySelector('div.seccion');

HTML代码,是这样的:

<div class="elscroller">
  <div class="seccion" id="seccion1"></div>
  <div class="seccion" id="seccion..n"></div>
</div>

正如你所看到的,有一行评论,因为它有同样的问题,所以我采用了一种原始的做事方式,并在那里放了一个 if。只有上帝知道怎么做,但它已经奏效了。

我真的厌倦了编码,尤其是对于IE8。我希望有一天人们停止使用这个#%!浏览器。

如果您使用的是PrototypeJS,那么您可以这样做,这将适用于所有浏览器

this.sections   = this.wrapper.select('div.seccion');

this.sections将是一个与CSS选择器匹配的DOM元素数组div.seccion