当前位置: 首页 > 图文教程 > 网络编程 > Javascript > jquery 1.3.2 IE8中的一点点的小问题解决方法

Javascript
在Z-Blog中运行代码[html][/html](纯JS版)
统一接口:为FireFox添加IE的方法和属性的js代码
网页自动刷新,不产生嗒嗒声的一个解决方法
驱动事件的addEvent.js代码
[原创]提供复制本站内容时出现,该文章转自IT学习网等字样的js代码
CSDN轮换广告图片轮换效果
一段多浏览器的"复制到剪贴板"javascript代码
Javascript中的常见排序算法
JS Common 2 之比较常用到的函数
非正则实现的只能输入汉字的输入框
CSDN上快速结贴的方法,JS实现
js eval木马代码,以后再分析吧
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
一个不错的可以检测多中浏览器的函数和其它功能
状态栏显示欢迎信息的脚本特效
关于文本限制字数的js代码
在你的网页中嵌入外部网页的方法
在IE中调用javascript打开Excel的代码(downmoon原作)
javascript实现动态增加删除表格行(兼容IE/FF)
javascript中获取选中对象的类型

Javascript 中的 jquery 1.3.2 IE8中的一点点的小问题解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 384 ::
收藏到网摘: n/a

最近的项目中开始使用了新版本的jquery,就是1.3.2版,发现在这个在版本对就radio类型的input在IE8中的支持不太好 使用的时候是这个样子的:
复制代码 代码如下:

var _val = $("input[name='input1'][checked]").val();

结果发现_val的值为undefined,开始还以为写的不对,可检查没有问题,这样写在IE6、7、FF、Chrome、Opera、Safari中都可以正常的得到值,就是在IE8中不行。百思不得其解,后来又实验:
复制代码 代码如下:

var _val = $("input[name='input1']").eq(0).val();

可以得到值,说明问题可能出现在radio的checked属性上,再实验:
复制代码 代码如下:

var _val = document.getElementsByName("input1")[0].getAttribute("checked");

在IE6、7、FF、Chrome、Opera、Safari中的值为true或false,而在IE8中为空,
在IE8中:
复制代码 代码如下:

var _val = document.getElementsByName("input1")[0].checked;

可以行到true或false的值,不知道这是IE8的bug还是微软另有深意呢?
最后使用:
复制代码 代码如下:

var _val = $(":radio[name='input1'][checked]").val();

这样在各种浏览器上都正常了,估计jquery1.3.2的测试人员对IE8的测试还不够全面,希望下一个版本能解决这个问题。