what is the alternate function for indexOf for string in IE8?
我用indexof来检查我是否有特定的文本出现在一个句子中,如下所示
1 2 3 4 5 6 7 8
| var temp ="";
temp="data not available";
if(temp.indexOf("datas") == 0){
alert("True");
}
else{
alert("false");
} |
我面临的问题是Internet Explorer 8不支持indexof。如何在IE8中执行此操作?jquery中是否有可用的默认替代函数?
我试过inarray,但它只支持array。
小提琴
- 按给定的方式添加
- 这里给出了一个解决方案developer.mozilla.org/en-us/docs/web/javascript/reference/…
- 您可以在so stackoverflow.com/questions/9768574/…中找到答案。
- 钢筋混凝土。这不是重复的AM请求字符串而不是数组,也询问是否有任何默认函数可用。
- stackoverflow.com/questions/1744310/…
- 可以使用string.split();将字符串转换为数组,然后应用jQuery.inArray( value, array [, fromIndex ] )。
- @Grijeshchauhan会是最佳实践吗?????
- @泛滥成灾,好的做法是我的第一条评论。
我想你对支持哪个indexOf()感到困惑。
根据微软的文档,您使用的是IE6以后支持的String.prototype.indexOf()。
只有IE9以后才支持Array.prototype.indexOf()。
- 谢谢你的回答。如何使用string.prototype.indexof()?你能给我举个例子吗?我很困惑。
- @泛滥成灾,你不需要改变任何东西,它只会工作的方式,你有它。但是,我不知道代码应该做什么。
- 当我运行代码时,它在IE8的页面上显示错误。消息:对象不支持此属性或方法
- 谢谢你,杰克
- 您共享的代码工作得非常好;也许问题出在其他地方。
- 好的,杰克,我来检查一下。
您可以使用String.search:
1 2 3 4 5 6
| var temp ="data not available";
if(!temp.search("datas")){
alert("True");
} else {
alert("false");
} |
小提琴
(注:我没有IE8测试它)