Javascript 未捕获的TypeError:无法读取未定义的属性“substr”

Javascript 未捕获的TypeError:无法读取未定义的属性“substr”,javascript,jquery,bigcommerce,Javascript,Jquery,Bigcommerce,请原谅我说得不清楚,但我有一个很长的脚本。当我有它的生活,我得到这个错误在铬的控制台 未捕获的TypeError:无法读取未定义的属性“substr” 下面是它读取的代码片段 var formIddd = $('select[class~="FormField"]').get(numSelec).name.substr($('select[class~="FormField"]').get(numSelec).name.length-3,2); 我在谷歌上查到substr,它似乎是一个已知的属

请原谅我说得不清楚,但我有一个很长的脚本。当我有它的生活,我得到这个错误在铬的控制台

未捕获的TypeError:无法读取未定义的属性“substr”

下面是它读取的代码片段

var formIddd = $('select[class~="FormField"]').get(numSelec).name.substr($('select[class~="FormField"]').get(numSelec).name.length-3,2);
我在谷歌上查到substr,它似乎是一个已知的属性。我还找到了课程。我已经玩了很长时间了,但还是被卡住了。在BigCommerce进行更新之前,它一直有效


非常感谢您的建议,干杯。

您没有填充阵列。如果检查为假

所以基本上你是这样做的

var arrayOfSelectOfCountry = [];
var numSelec = arrayOfSelectOfCountry[-1];  //undefined
这导致了上述错误

可能在某个点上对空引用调用substr

所以在使用它之前,请检查引用是否为空

function(jsonDate) {

     if (jsonDate!=null) {
        //if the variable is not null you can use substr with no problems
         var date = new Date(parseInt(jsonDate.substr(6)));
        //.....
}
请看我从Datatable中获得的完整片段


仔细阅读错误。无法读取未定义的属性“substr”。这意味着名称未定义,而不是substr.debug:var elems=$'select[class~=FormField];console.lognumSelec,elems.length,elems.getnumSelec@AmitJoki如果索引超出范围,则意味着getnumSelec的结果将是未定义的,这将导致错误无法读取未定义的属性“name”。因此getnumSelec`返回一些东西,但它没有name属性。这是您的问题:numSelec未定义。您需要显示更多代码,执行顺序中有一些错误。
 columns: [
                        { 'data': 'ID' },
                        { 'data': 'Name' },
                        {
                            'data': 'DateCreated',
                            'render': function(jsonDate) {
                                if (jsonDate!=null) {
                                    var date = new Date(parseInt(jsonDate.substr(6)));
                                    return date.toLocaleDateString();
                                }
                                return "-";
                            }
                        },