Javascript/Jquery Internet Explorer 在点击时显示 div 的问题

标签 javascript jquery internet-explorer-10

我的代码当前遇到问题。我有一个表单,其中包含多个复选框。如果您单击框本身或其中的标签,这些复选框就会打开。如果单击,则会显示另一个 div cancel_body。这显示了与表单结果并不真正相关的选项列表,只是为了向用户显示信息。我的问题是在 IE 中它不能按预期工作。您可以单击复选框,它会打勾,但没有任何显示。多点击几次就会显示。我无法辨认出任何模式。有谁知道为什么会发生这种情况?

谢谢!

  $('input[type=checkbox]').change(function () {
     if ($(this).attr("checked")) {
         $(this).parent().next(".cancel_body").show(600);
     }else{
         $(this).parent().next(".cancel_body").hide(600);
     };
  });

最佳答案

对于 bool 值,您应该使用 prop() 而不是 attr():

if ( $(this).prop("checked") )
    ...
如果元素上不存在 checked 属性,并且 “checked”

attr() 将返回 undefined code> 如果存在,无论它设置为 true 还是 false:http://jsfiddle.net/yz4K6/

但是,正如 Barmar 在评论中提到的,您可以简单地使用 this.checked 代替:

if ( this.checked )
    ...

关于Javascript/Jquery Internet Explorer 在点击时显示 div 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21705589/

相关文章:

javascript - 当 <ul> 内容改变时调用 jquery 函数

jquery - 拖放在缩放容器时无法正常工作

angularjs - 使用 ng-options 选择且模型中未设置默认值的 IE10 始终选择下拉列表中的第一个元素

javascript - js自动更改数字格式

javascript - 使用 vue 创建 Excel Add-in 时。如何根据 Excel 笔记本上的数据计算属性?

javascript - 有没有办法删除小兵?

javascript - 如何触发/引用自定义 JavaScript 对象?

node.js - Selenium 网络驱动程序 : dragAndDrop method fails in IE11 and IE10

css - 删除 IE10 选择元素箭头

JavaScript:4 个异步函数在继续之前按顺序等待彼此完成?