IE浏览器 - “错误:对象不支持这个动作”

IE浏览器 - “错误:对象不支持这个动作”

问题描述:

我得到一个令人沮丧的IE7错误,我无法绕过。它在Chrome和Firefox工作正常,但不是在IE ..IE浏览器 - “错误:对象不支持这个动作”

行我收到错误是:item = listGetAt(list,'1','-');

这是调用以下自定义方法:

function listGetAt(list,position,delimiter) { 
if(delimiter == null) { delimiter = '-'; } 
list = list.split(delimiter); 
if(list.length > position) { 
    return list[position]; 
} else { 
    return list.length; 
} 
} 

灿任何人都看到我不能做的事情?

非常感谢您的任何帮助。

杰森

+1

究竟是什么'list'包含哪些内容?这是一个糟糕的命名约定,一直称它为列表 - 在某个阶段它将是一个数组 – mplungjan 2012-07-24 08:10:59

+0

发现问题..它看起来像“item”是一个保留字..当我将var名称更改为'selectedItem' ,它工作得很好.. – Jason 2012-07-24 08:16:30

+0

仍然不好的代码,并且不传递'1'来代替传递1 – mplungjan 2012-07-24 08:18:08

普代码

为什么传递一个字符串作为一个数字参数?

我会考虑

function listGetAt(list,position,delimiter) { 
    delimiter = delimiter || '-'; 
    if (list.indexOf(delimiter) ==-1) return -1; 
    list = list.split(delimiter); 
    return list.length>=position?list[position]:null; 
} 
+0

感谢mplunjan ..它原来是一个int ..只是在试图找出IE问题是什么并且必须忘记删除它的时候,将它留在那里......这就是说,这种方法不是问题..它是接收调用它的变量。感谢您的建议。 – Jason 2012-07-24 12:34:46