我在javascript插件之一有一个排序功能和代码看起来成才这样的:号预期的错误在IE浏览器上比较字符串
groups = groups.sort(function (a, b) {
a = a.content.toString().toLowerCase().replace(/\s+/g, '');
b = b.content.toString().toLowerCase().replace(/\s+/g, '');
if(a > b){ //stops and gives error here
return 1;
}
if(a < b){
return -1;
}
return 0;
});
a.content
实际上是一个字符串本身(但只是IE的缘故,我在代码中添加了.toString()
在所有其他浏览器上,上述代码在所有浏览器上运行良好,但在IE 8上运行良好,上面的代码显示了JavaScript错误并停止在上面代码中显示的行上。控制台在此行显示“Number expected”消息。
(Someti mes a.content
可能也有这种形式的一些html - >
"<span>Sample String</span>"
。
不知道这是否会导致IE8中的错误,但问题只发生在这个浏览器中)
我该如何摆脱这个错误?
由于它是浏览器特定的,因此它需要一些修补程序,因为它对我来说并不明显,至少在IE中出了什么问题。你可以创建一个jsfiddle,将一些样本值加载到组中,以便我们可以复制该错误? – BrianHall 2013-03-16 09:56:09