jquery选中复选框IE问题

我在validation是否在Internet Explorer上使用jquery检查了复选框时遇到问题。 这是我正在使用的代码:

if ($('#chkjq_1').attr('checked') == true) 

它在Firefox或Chrome上运行正常,但在Internet Explorer 7上,条件始终为false,因为浏览器以这种方式设置属性:

  IE7 

正确的方法如下:(Firefox,Chrome):

  FF, Chrome, etc 

我应该怎么做才能在Internet Explorer 7上避免此问题; 在jquery中有一个通用的方法来解决这个问题吗?

提前致谢。

试试这个:

 if ($('#chkjq_1').is(':checked')) { // more code } 

我唯一能够始终如一地工作就是这样测试:

 if ($('#chkjq_1').is('[CHECKED]')) 

使用IE上的选择器上的所有大写字母在打开开发人员工具时呈现它。 据我所知,跨浏览器可以正常工作。 .is(’:checked’)对我来说不匹配(使用JQuery 1.7.1)。 在多种模式下使用IE 7和IE 8进行测试。 其他浏览器(Firefox,Safari测试)似乎并不在意。

IE中的“更改”复选框事件被奇怪地触发。

这可以解决为: – 1.)将输入复选框的onclick事件绑定到要触发的所需目标函数2.)在目标函数中,通过检查“checked”属性来检查复选框的状态 –

 if ($('#chkBox').attr("checked") == "checked"){ // do something ----or .attr("checked", "checked"); ---for another checkbox }else{ // do something else ----or .removeAttr("checked"); ---for another checkbox }