扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
jQuery新版本已经不再进行IE低版本(IE6、IE7、IE8)的兼容性处理。
创新互联企业建站,十多年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都做网站、网站设计中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
如果项目需要兼容IE低版本,需要使用jQuery1.x版本,从2.x开始已经不兼容IE6、7、8了。
以下为jQuery官网的通知:
jQuery 2.x has the same API as jQuery 1.x, but does not support Internet Explorer 6, 7, or 8. All the notes in the jQuery 1.9 Upgrade Guide apply here as well. Since IE 8 is still relatively common, we recommend using the 1.x version unless you are certain no IE 6/7/8 users are visiting the site. Please read the 2.0 release notes carefully.
翻译如下:
jQuery 2.x和jQuery的API用法相同,但是不再支持IE6、7、8。
1.9版本中的所有升级向导信息同样适用于2.x
由于IE8仍然用户较多,因此建议使用1.x版本,除非确定没有用IE6、7、8的用户访问网站。
请仔细阅读2.0的发布信息。
一上是我的js 代码。 就是在文档加载完成之后,给div 中的li 节点绑定一个鼠标移入移 出事件。 可是 IE 连这个 $(document).ready(function(){都不执行! 我的 IE 是支持 js ------解决方案-------------------------------------------------------- 代码的问题吧,具体帮不了你,JQuery 不懂 但可以肯定的是JQuery 在ie 上没问题 ------解决方案-------------------------------------------------------- var j = jQuery.noConflict(); 把$符号替换成定义的j 就可以了。 比如:$(document).ready() -- j(document).ready() ------解决方案--------------------------------------------------------引用:引用: 定义符号$冲突了,可以用jQuery.noConflict()把定义符号改成别的 我现在做的项目以前人用了prototype。也是$冲突 我的解决办法是 script src= jquery.js /script script j=$; /script script src= prototype.js /script 这样用j 代替$ j( #myid ).slideUp(); ------解决方案-------------------------------------------------------- 自己把jQuery.js 下载下来,然后做个小例子 script type= text/javascript src= jquery-1.4.2.min.js /script script type= text/javascript $(document).ready(function(){ alert( Hello World! );});/script 这是最简单的一个测试的例子,记得jQuery.js 要和你的html 放在同一级目录下 ------解决方案--------------------------------------------------------
2.0以上版本的jQuery已经不再支持IE8及以下版本的IE浏览器,所以才出现了问题。
解决方法很简单:
!--IE8只能支持jQuery1.9--!--[if lte IE 8]script src=""/script![endif]--
相关问题:
Jquery从2.x版本开始已经不再进行IE低版本(IE6、IE7、IE8)的兼容性处理。如果需要兼容低版本的IE版本,建议使用原生JS或者低版本的Jquery1.x版本。
一般的处理方式是给网页写两套或者多套JS代码以适应不同版本、不同类型的浏览器,然后使用原生JS判断浏览器的型号和版本来加载不同的JS文件,具体的实现方法如下:
script language="javascript"
//判断是否为IE浏览器
if(navigator.appName == "Microsoft Internet Explorer")
{
if(navigator.appVersion.match(/7./i) == '6.' ||
navigator.appVersion.match(/7./i) == '7.' ||
navigator.appVersion.match(/7./i) == '8.')
{
document.write("script src=\"myjs1.js\""+"/script");
}else{
document.write("script src=\"myjs2.js.js\""+"/script");
}
}
/script
[img]通过 html() 方法来重写 embed 标签,就可以解决,具体如下:
html代码
div id="big"/div
jQuery代码
var src = ***; //获取图片路径$("#big").html('embed src="' + src + '" /');
//其他属性忽略没写,自行添加。
//实际情况可根据自己的程序做些修改。
1、图片移动是背景移动还是定位移动?ie6是不支持部分背景移动的。
2、检查语法,注意是不是多了 一个 逗号?一般在object类型里就是 { a:value1 , b:value2 , }
注意最后那个逗号,在ie里会报错无法执行下去,而其他浏览器则没事。
在IE浏览器中,给select的options设置
disable属性
是没用的。
必须采用一定手段才可以解决这个问题。当然原理就是记住上次选中的
option。
this.selectedIndex
就派上用场了。
需要刷新下才可以看到效果,因为输出的都是文本,不存在js加载的情况。
使用jQuery解决IE不支持的option
disable属性
$(document).ready(function(){
$(".myselect
option:disabled").css('color',
'#CCC');
$('.myselect').change(function(){
if(this[this.selectedIndex].disabled){
this.selectedIndex
=
this.s||0;
}else{
this.s
=
this.selectedIndex||0;
}
})
})
使用jQuery解决IE不支持的option
disable属性
普通:
第1项
第2项
第3项
第4项
第5项
第6项
对比1:
第1项
第2项
第3项
第4项
第5项
第6项
对比2:
第1项
第2项
第3项
第4项
第5项
第6项
Dev
By
CssRain,当然你有兴趣,也可以封装成插件。记得发我一份哦。
[Ctrl+A
全选
注:如需引入外部Js需刷新才能执行]
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流