IE8中字符串的indexOf的替代函数是啥?

Posted

技术标签:

【中文标题】IE8中字符串的indexOf的替代函数是啥?【英文标题】:what is the alternate function for indexOf for string in IE8?IE8中字符串的indexOf的替代函数是什么? 【发布时间】:2014-03-13 09:32:59 【问题描述】:

我使用 indexOf 来检查句子中是否存在特定文本,如下所示

var temp = "";
temp="data not available";
if(temp.indexOf("datas") == 0)
    alert("True");

else
    alert("false");

我面临的问题是 Internet Explorer 8 不支持 indexOf。如何在 IE8 中也执行此操作? jquery 中是否有任何默认替代功能

我试过 inArray 但它只支持数组。

fiddle

【问题讨论】:

添加为given 这里给出了一个解决方案,developer.mozilla.org/en-US/docs/Web/javascript/Reference/… 你可以在***.com/questions/9768574/…找到答案 @RC。这不是重复的,我要求字符串而不是数组,并且还询问是否有任何可用的默认函数。 ***.com/questions/1744310/… 【参考方案1】:

我认为您对支持哪个indexOf() 感到困惑。

根据Microsoft's documentation,您正在使用String.prototype.indexOf(),它从IE6 开始受支持。

Array.prototype.indexOf() 仅从 IE9 开始支持。

【讨论】:

感谢您的回答。如何使用 String.prototype.indexOf() ?你能给我一个例子吗?我很困惑。 @PandiyanCool 你不需要改变任何东西;它会按照你的方式工作。不过,我不确定代码应该做什么。 当我运行代码时,它在 IE8 页面上显示错误。消息:对象不支持此属性或方法 您分享的代码运行良好;也许问题出在其他地方。 好的,杰克我会检查的。【参考方案2】:

你可以使用String.search:

var temp = "data not available";
if(!temp.search("datas"))
    alert("True");
 else 
    alert("false");

Fiddle

(注意:我没有 IE8 来测试它)

【讨论】:

以上是关于IE8中字符串的indexOf的替代函数是啥?的主要内容,如果未能解决你的问题,请参考以下文章

indexOf()的用法,具体是啥意思??

indexof是啥意思 indexof的特殊含义

IE8 没有在 jQuery 地址中执行子字符串

LINQ中字符串字段的IN sql运算符的替代方法是啥?

js中字符串函数indexOf与search的区别

Js中 字符串函数indexOf与search的区别