我有下面的代码,它可以在IE8,FF和其他浏览器上正常工作,但不适用于IE7
在检查我发现formatIncludes[i]
无法正常工作时,任何想法在IE7中有什么问题以及其他解决方法
var formatIncludes = valueToSet.replace(/[^\D]/g, '');
for(var i=formatIncludes.length-1; i >= 0 ; i--){
if(valueToSet && valueToSet != null && valueToSet.endsWith(formatIncludes[i])){
valueToSet = valueToSet.substr(0, valueToSet.length - 1);
}else{
break;
}
}
String.prototype.endsWith = function(suffix) {
return (this.indexOf(suffix, this.length - suffix.length) != -1);
};
formatIncludes
可以包含任何字符串值IE7上的错误
Message: 'length' is null or not an object
Line: 352
Char: 2
Code: 0
URI: http://localhost:7001/HHSPortal/framework/skeletons/hhsa/js/util.js
最佳答案
似乎用[i]
索引字符串不起作用?而更一致/正确的解决方案是使用.charAt(i)
可以在以下内容中找到原因:
string.charAt(x) or string[x]?
JavaScript cross-browser: Is it safe to treat a string as array?