Javascript 对象没有';t支持属性或方法';项目';IE 9

Javascript 对象没有';t支持属性或方法';项目';IE 9,javascript,dom,internet-explorer-9,Javascript,Dom,Internet Explorer 9,我正在努力找到所有的扣子。在chrome和现代浏览器中,这很好,但在ie9中,我有上面的错误。我无法更改页面上的HTML,只能更改页面上的javascript。在chrome中,我可以使用document.getElementsByCassName(),但在ie 9中,我不能使用,即使我应该能够使用,可能是因为该网站必须在与怪癖相似的情况下运行。我已经尝试过重写代码,使其在没有此功能的情况下工作,并且相信我已经获得了代码中的元素 if(navigator.userAgent.toLowerCas

我正在努力找到所有的扣子。在chrome和现代浏览器中,这很好,但在ie9中,我有上面的错误。我无法更改页面上的HTML,只能更改页面上的javascript。在chrome中,我可以使用document.getElementsByCassName(),但在ie 9中,我不能使用,即使我应该能够使用,可能是因为该网站必须在与怪癖相似的情况下运行。我已经尝试过重写代码,使其在没有此功能的情况下工作,并且相信我已经获得了代码中的元素

if(navigator.userAgent.toLowerCase().indexOf('msie') != -1){
    if (document.all) {
        var allElements = document.all;
    } else {
        var allElements = document.getElementsByTagName("*");
    }

    // Empty placeholder to put in the found elements with the class name
    var oldHrefs = [];

    for (var i = 0, ii = allElements.length; i < ii; i++) {
        if (allElements[i].className == 'ButtonItem') {
            oldHrefs[oldHrefs.length] = allElements[i];
        }
    }   
}
else
{
    var oldHrefs = document.getElementsByClassName('ButtonItem');
}
if(navigator.userAgent.toLowerCase().indexOf('msie')!=-1){
如果(全部文件){
var等位基因=document.all;
}否则{
var-allegements=document.getElementsByTagName(“*”);
}
//空占位符,用于放入具有类名的已找到元素
var-oldHrefs=[];
对于(变量i=0,ii=allegments.length;i
但是我需要循环代码,删除href并添加onclick,这是我恢复下一个错误的时候。对象不支持属性或方法“item”。我能做些什么来纠正下面的代码

for (var i = 0; i < oldHrefs.length; i++) {
    var thisHref = oldHrefs.item(i).getAttribute('href');
    if (thisHref != null) {
        if (thisHref.includes('Act=1468')) {
            oldHrefs.item(i).removeAttribute("href");
            oldHrefs.item(i).setAttribute('onclick', 'window.location.href="' + thisHref + '";this.removeAttribute("onclick");');
        }
    }
}
for(var i=0;i

谢谢

您可以使用
[]
而不是
oldHrefs[i]。getAttribute('href')
。indexOf('Act=1468')>-1
而不是
。includes('Act=1468')
添加了上述注释并删除了答案。正如你所说,当你看起来处于comp.mode./怪癖mode时,很多正常的事情都不起作用,所以上面的建议应该很有希望做到这一点。