Javascript &引用;应为JScript对象";在IE8中

Javascript &引用;应为JScript对象";在IE8中,javascript,html,internet-explorer-8,Javascript,Html,Internet Explorer 8,我正在尝试获取HTML页面的所有元素,具有特定的id。这在Safari、Chrome和Firefox中运行良好 var值\字段\值=[]; var值_字段_警报=[]; var变量=[]; 变量e; value\u fields\u value=Array.prototype.slice.call(document.queryselectoral('[id^=value\uz]'); for(var i在值\字段\值中){ 变量.push(新元素(值\字段\值[i],新址(值\字段\值[i].

我正在尝试获取HTML页面的所有元素,具有特定的id。这在Safari、Chrome和Firefox中运行良好

var值\字段\值=[];
var值_字段_警报=[];
var变量=[];
变量e;
value\u fields\u value=Array.prototype.slice.call(document.queryselectoral('[id^=value\uz]');
for(var i在值\字段\值中){
变量.push(新元素(值\字段\值[i],新址(值\字段\值[i].id.toString().replace('value \字段',''),null,null,null));

}
如果需要向后兼容IE8,则不能使用
querySelectorAll
。您需要使用
getElementsByTagName
或单独选择它们

另外,
for/in
循环用于循环对象中的所有属性,您有一个要循环的数组。代码应如下所示:

var值\字段\警报=[];
var变量=[];
变量e;
//在刚开始时,无需将其预先声明为空数组
//将其初始化为数组
var-value\u-fields\u-value=Array.prototype.slice.call(document.queryselectoral('[id^=value\u]');
//您可以通过多种方式循环一个数组,但最传统的方式是向后兼容的
//是一个简单的计数循环:
对于(变量i=0;i可能重复的