IE8数组不支持indexOf方法的解决办法

在使用indexof方法之前加上以下代码就可以了。

if (!Array.prototype.indexOf){ 
         Array.prototype.indexOf = function(elt /*, from*/){ 
         var len = this.length >>> 0; 
         var from = Number(arguments[1]) || 0; 
         from = (from < 0) 
              ? Math.ceil(from) 
              : Math.floor(from); 
         if (from < 0) 
           from += len; 
         for (; from < len; from++) 
         { 
           if (from in this && 
               this[from] === elt) 
             return from; 
         } 
         return -1; 
       }; 
 }

时间: 2024-08-22 02:20:00

IE8数组不支持indexOf方法的解决办法的相关文章

ie8下数组不支持indexOf方法解决方法

if (!Array.prototype.indexOf){ Array.prototype.indexOf = function(elt){ var len = this.length >>> 0;//调用的时候,this 不一定是 Array的原型,length不能得到保证,加上位运算后,可以将不确定的值转换成Number. var from = Number(arguments[1]) || 0;//arguments:存放参数的对象,详见:https://blog.csdn.ne

ie数组不支持indexOf 方法解决

if(!Array.prototype.indexOf){ Array.prototype.indexOf = function(obj){ for(var i=0;i<this.length;i++){ if(this[i] == obj){ return i; } } return -1; }; }

IE6不支持圆角效果的解决办法

IE6(7/8)不支持border-radius属性,所以其中的圆角效果显示不出来,可以通过引用ie-css3.htc的方法解决. ie-css3.htc(点击可直接查看) 将文件放在放在页面的根目录下,并在css文件(或者<style>标签)中,加上 body { behavior:url("...ie-css3.htc"); } 放在其他目录下也行,注意路径对即可. 其它问题可参考官网:http://fetchak.com/ie-css3/ IE6不支持圆角效果的解决办

WCF不支持 ASP.NET 兼容性 解决办法

错 误提示:无法激活服务,因为它不支持 ASP.NET 兼容性.已为此应用程序启用了 ASP.NET 兼容性.请在 web.config 中关闭 ASP.NET 兼容性模式或将 AspNetCompatibilityRequirements 属性添加到服务类型且同时将 RequirementsMode 设置为“Allowed”或“Required”. 解决办法: 修改相应   服务.svc.cs using System.ServiceModel.Activation ; [AspNetComp

关于使用jquery时,ie8下提示对象不支持的属性或方法的解决办法

转自:http://wapapp.baidu.com/auoong/item/538790fcbe87c834d7ff8cde 首先这个问题的前提是已经排除了常见的这个问题.下面说一种今天我碰到的一种情况. 浏览器报的错误: 1.在xp/win7系统下安装的是ie8的报的错误是:对象不支持此属性与方法. 2.在win8下报的错误是:对象不支持"toLowerCase"属性或方法,即使是调整成ie8模式也是这个错误. 出错的代码段为jquery的源代码,如下: var b=a.nodeN

js Array ie下不支持indexOf方法解决方案

在IE8下,js数组没有indexOf方法. 下面是我找到的解决办法: 在使用indexOf方法前,执行一下下面的js, 原理就是如果发现数组没有indexOf方法,会添加上这个方法. if (!Array.prototype.indexOf){  Array.prototype.indexOf = function(elt /*, from*/)  {    var len = this.length >>> 0; var from = Number(arguments[1]) ||

简单谈谈JS数组中的indexOf方法

前言 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用,正则不熟练同学的利器.这篇文章就最近遇到的一个问题,用实例再说说说indexOf方法.本文是小知识点积累,不作为深入讨论的话题,因此这里没有解释indexOf()的第二个参数,相信大家都知道第二个参数的作用. String 类型的使用 温习一下大家熟知的字符串用法,举个 ? 1 2 3 4 5 let str = 'orange'; str.indexOf('o'); //0 str.indexOf('n');

Array(数组)对象--&gt;indexOf() 方法

1.定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,即下标. 如果没有找到匹配的字符串则返回 -1. 语法: string.indexOf(searchvalue,start) 参数: searchvalue:规定需检索的字符串值. start:规定在字符串中开始检索的位置(下标) 注意: indexOf() 方法区分大小写. 举例1:查找首次出现2的位置下标 var arr = [1,2,3,4,5]; console.log(arr.indexOf(2)

IE6不支持li:hover的解决办法,一句代码让IE6支持li:hover

如果不是因为工作需要,我根本不会理会IE6的兼容问题,甚至我都不想理会IE的所有内核,不过IE9用了下,我还是重新对IE报以期待的.话题扯远了,下面回到话题上来吧.这次要说的内容就是,如果让IE支持li:hover(还有之类的span:hover.div:hover),用过的都应该差不多清楚,IE6只能识别a:hover,但有时候用UL.LI做下拉列表,IE6就一直让我很头疼.有人用的解决办法可能第一反应就是去网上找相关的JS来代替hover,其实有个超级简单的方法,就是在LI标记里加一个A标记