如何修复Object不支持属性或方法'indexOf'?

时间:2013-10-23 03:07:07

标签: javascript jquery internet-explorer-8 indexof lastindexof

我遇到这种情况:

if (image.indexOf("/bob/") != -1 || image.indexOf("/grabs/") != -1 || image.indexOf("/") == image.lastIndexOf("/")) {
    alert('success');
}
在IE8中我得到Object doesn't support property or method 'indexOf'

我可能会使用类似$.inArray("/bob/", image)的内容,但我不确定lastIndexOf

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

尝试使用正则表达式,例如

if(/\/(bob|ginger|grabs)\//.test(image) || /^[^\/]*\/$/.test(image)){
}

答案 1 :(得分:0)

如果你想用jQuery解决它,你可以做

$.inArray("/", image, $.inArray("/", image)) === -1

即。在第一次出现后查找/的下一次出现。这假设/始终存在于数组中。如果没有,那么等价物将是

var index =  $.inArray("/", image);
if (.... || (index === -1 ||  $.inArray("/", image, index) === -1)) {
   // ...
}