jquery each JavaScript 运行时错误: 错误的参数个数或无效的参数属性值

jquery each遍历时报错:“JavaScript 运行时错误: 错误的参数个数或无效的参数属性值”
报错信息如图:图片说明
点中断继续调试:图片说明
可以看到遍历的对象是有值的:图片说明
callBack方法可以正常执行:图片说明
整体并未影响程序和代码执行和项目使用,但是看着着实不爽,希望各位大神指点。

ResetCostLayoutSpare: function(budgetXml, costGUID) {

        var xmlBudget = new ActiveXObject("Microsoft.XMLDOM");
        xmlBudget.async = false;
        xmlBudget.loadXML(budgetXml);
        var BudgetCostList = xmlBudget.getElementsByTagName("cb_BudgetRecordCostList/cb_BudgetRecordCost");
        debugger
        var costArr = [];
        var attrCostGUID = "";
        var attrLayoutSpare = 0;
        var isAdd = true;
        if (costGUID == "" || costGUID == null) {
            //遍历现有 合约规划科目xml数据列表
            $.each($(BudgetCostList),function(index, element) {
                attrCostGUID = $(this).attr("CostGUID");
                attrLayoutSpare = MyCalcDoubleFix(MyCalcDoubleFix($(this).attr("BudgetAmount").replace(/,/g, ""), $(this).attr("BeforeAmout").replace(/,/g, ""), "+"), $(this).attr("CurrUseAmount").replace(/,/g, ""), "-");
                isAdd = true;
                //循环遍历 已经存在的科目,如果存在相同的科目 那么则修改 科目余量
                $(costArr).each(function(index, element) {
                    if ($(this).CostGUID == attrCostGUID) {
                        $(this).LayoutSpare = attrLayoutSpare;
                        isAdd = false;
                        return false;
                    }
                });
                if (isAdd) {
                    var obj = {};
                    obj.CostGUID = attrCostGUID;
                    obj.LayoutSpare = attrLayoutSpare;
                    costArr.push(obj);
                }
            });
        }