jquery checked复选框IE问题
我在验证是否使用Internet Explorer上的jquery检查复选框时遇到问题。 这是我正在使用的代码:
if ($('#chkjq_1').attr('checked') == true)
它在Firefox或Chrome上运行良好,但在Internet Explorer 7中,条件始终为false,因为浏览器以此方式设置属性:
<input id="chkjq_1" type="checkbox" CHECKED/> IE7
正确的方法如下:(Firefox,Chrome):
<input id="chkjq_1" type="checkbox" checked="checked"/> 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”属性来检查复选框的状态via-
if ($('#chkBox').attr("checked") == "checked"){
// do something ----or .attr("checked", "checked"); ---for another checkbox
}else{
// do something else ----or .removeAttr("checked"); ---for another checkbox
}
链接地址: http://www.djcxy.com/p/55789.html
上一篇: jquery checked checkbox IE problem
下一篇: Why does jQuery or a DOM method such as getElementById not find the element?