Javascript Can';t迭代从Sizzle返回的数组

Javascript Can';t迭代从Sizzle返回的数组,javascript,sizzle,Javascript,Sizzle,根据我的理解,Sizzle返回一个对象数组(doElements),我试图在for循环中遍历该对象数组,但我得到了错误。当我试图用 obj[index-number]["property"] 它工作正常,但是当我将它传递给另一个函数后尝试访问它时 obj[index-number][arguments[index-number]] 我得到一个未定义的返回。我尝试了许多不同的方法,包括eval来解析点符号,但都没有用。我被难住了。任何指点或想法都会很棒。此外,我已经验证了函数的所有输入都是正确

根据我的理解,Sizzle返回一个对象数组(doElements),我试图在for循环中遍历该对象数组,但我得到了错误。当我试图用

obj[index-number]["property"]
它工作正常,但是当我将它传递给另一个函数后尝试访问它时

obj[index-number][arguments[index-number]]
我得到一个未定义的返回。我尝试了许多不同的方法,包括eval来解析点符号,但都没有用。我被难住了。任何指点或想法都会很棒。此外,我已经验证了函数的所有输入都是正确的(通过向它们发出警报),此外,硬编码值以获得函数中所需的值也可以工作。这是我的代码:(抱歉太长了)

var ecmafw=function(){
//创建对象的新实例。
//设置对象的全局属性:
这个错误=false;
//检查是否提供了参数,如果没有,则返回false。
if(arguments.lenght==0){
this.error=“未提供任何参数。”;
返回false;
}
//提供对结果集的引用。
this.results=Sizzle(参数[0]);
this.attr=函数(){
/*目的:从结果集中添加/删除/更新属性。
*
*可通过两种方式使用:
*1:.attr(“attribute1='value'attribute2='value'attribute3='value'”)//添加/删除所有属性。[用“-”(用于类)否定要删除的值]
*2:.attr(“属性”、“值”)//添加一个。[用“-”(用于类)否定要删除的值]
*3:.attr(“属性”)//删除该属性。
*4:.attr(“attribute1 attribute2 attribute3”)//删除所有属性。
*/ 
var len=this.results.length;
开关(arguments.length){
案例1:
对于(变量a=0;a
不确定这是否是问题所在,但在
removeAttr
函数中,您正在访问此行传入的第三个参数:

arguments[2] = arguments[2].replace("-", "");
<
arguments[2] = arguments[2].replace("-", "");