在公司完成一个小项目,测试的时候,发现在ie6浏览器下,报错:indexOf() is not defined;
原因是ie6浏览器不支持indexOf()函数,所以会报错。
我们可以使用jquery的方法:$.inArray()来替换indexOf()方法;
下面详细介绍一下,这两个方法:
1.indexOf()
用来确定某个字符创中是否有某个字符,返回的是该字符在此字符串中第一次出现的位置,从0开始计数,没有找到返回1。
例如:
var a=["aaa","bbb","ccc","aaa","ddd"];
var i=a.indexOf("aaa");
console.log(i);
结果为:0;
lastIndexOf()这个函数与indexOf()函数不同的是,这个函数是从后向前进行检索,从0开始计数,没有找到返回1。。
例如:
var a=["aaa","bbb","ccc","aaa","ddd"];
var i=a.lastIndexOf("aaa");
console.log(i);
结果是:3;
lastIndexOf()函数检索到的是后面的那个"aaa",他在数组中是a[3];
3.jquery.inArray(value,array);
该方法用来确定value在array中第一次出现的位置,从0开始计数,没有找到返回1。
var a=["aaa","bbb","ccc","aaa","ddd"];
var i=$.inArray("aaa",a);
console.log(i);
结果为:0;