靠谱的软件下载站
当前位置:  IEfans/IE专区/IE相关/IE6和IE8对JS字符串操作的细微差别

IE6和IE8对JS字符串操作的细微差别

IE相关 互联网 2010-01-03 阅读(2646)
昨晚在做网站页面导航的时候,采用了jquery的技术做小导航切换,当用户在页面中点击导航就会弹出一个小的导航,因为我的操作系统是win7,所以浏览器安装的是默认IE8,系统上还安装了谷歌浏览器,当时做完以后在IE8浏览器上显示是没有任何问题的,在谷歌浏览器上测试也是正常的,本来以为JS代码应该是没有问题了,但是后来发现在IE6却无法正常运行。下面是页面导航的JS代码: $(function(){                  $("#tr1 div").bind("click", function(){//给所有在tr1里面的DIV注册一个OnClick事件                           var name = $(this).attr("id"); //获取ID                                             if(name.indexOf('p')=="0")                      {                                for(var k=1;k<15;k++)                           {                                  var cid="child"+k;                                 if((name.length==7&&k==name.substring(6,7))||(name.length==8&&k==(name.substring(6,7)+name.substring(7,8))))                               {                                                           $("#"+cid+"").show();                                  }                               else                              {                                      $("#"+cid+"").hide();                                 }                           }                       }                            });           });     $(function(){               $("#tr1 div").bind("click", function(){//给所有在tr1里面的DIV注册一个OnClick事件                        var name = $(this).attr("id"); //获取ID                                       if(name.indexOf('p')=="0")                    {                             for(var k=1;k<15;k++)                         {                               var cid="child"+k;                             if((name.length==7&&k==name.substring(6,7))||(name.length==8&&k==(name.substring(6,7)+name.substring(7,8))))                             {                                                        $("#"+cid+"").show();                               }                             else                             {                                   $("#"+cid+"").hide();                              }                         }                     }                         });         });    刚开始的时候在IE8浏览器下,我直接获取name的第一个字母,直接用数组的下标方法 name[0],可以获取在谷歌浏览器运行可以,但是我给我同事用的时候他的是IE6说没反映,我刚开始没注意 还以为他是开玩笑,今天我用VS自带的浏览器浏览的时候发现真的有问题 ,郁闷,以为是jquery不兼容,找了半天都说jquery兼容性好,没有说兼容性不好的,我一步一步调试终于发现在判断name[0]==p这个问题上找到了,于是马上换代码name.substring(0,1),在进行测试,总算是没有问题了,有时候看似很小的问题却真是折磨人!提醒大家以后制作网页的时候如果需要使用的jquery,还需多注意跨浏览器的问题,以及编码的问题,在就是字符转义,需要多多考虑。

标签:IE8IE6JS字符IE Web

Copyright © 1998-2017 www.iefans.net All Rights Reserved 湘ICP备13012168号-17