在IE8中,字符串的indexOf的替代功能是什么?

6

我使用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


请添加以下内容:给定 - Grijesh Chauhan
这里提供了一个解决方案,https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf - Adil
你可以使用string.split();将字符串转换为数组。然后应用jQuery.inArray(value, array[, fromIndex]) - Grijesh Chauhan
@GrijeshChauhan 这是最佳实践吗? - Pandiyan Cool
@PandiyanCool 它可行,良好的实践是我的第一个评论。 - Grijesh Chauhan
显示剩余3条评论
2个回答

14

1
谢谢你的回答。如何使用String.prototype.indexOf()?你能给我一个例子吗?我一直很困惑。 - Pandiyan Cool
@PandiyanCool 你不需要改变任何东西;它将按照你的方式工作。虽然,我不确定代码应该做什么。 - Ja͢ck
当我运行代码时,在IE8中显示页面错误。消息:对象不支持此属性或方法。 - Pandiyan Cool
你分享的代码完全正常;也许问题出在其他地方。 - Ja͢ck
好的,杰克,我会检查它。 - Pandiyan Cool

0
你可以使用 String.search
var temp = "data not available";
if(!temp.search("datas")){
    alert("True");
} else {
    alert("false");
}

Fiddle

(注:我没有IE8来测试)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接