jquery 1.3.2 IE8中的一点点的小问题解决方法_jquery
程序员文章站
2022-03-09 14:21:07
...
使用的时候是这个样子的:
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的测试还不够全面,希望下一个版本能解决这个问题。
复制代码 代码如下:
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的测试还不够全面,希望下一个版本能解决这个问题。
推荐阅读
-
IE8下String的Trim()方法失效的解决方法_jquery
-
jquery中animate动画积累的解决方法
-
jQuery在vs2008及js文件中的无智能提示的解决方法_jquery
-
jquery中checkbox全选失效的解决方法
-
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
-
JQuery中Ajax的Post提交在IE下中文乱码的解决方法
-
html文件中jquery与velocity变量中的$冲突的解决方法
-
jquery开发中缓存问题的几个解决方法
-
jquery.ajax的url中传递中文乱码问题的解决方法
-
jQuery中ajax的使用与缓存问题的解决方法