Jquery 在JQuery3.3.1版本中使用attr()复选框全选无效!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hlx20080808/article/details/86490121

注意: 在JQuery3.3.1版本

           使用 $('[type=checkbox]:checkbox').attr('checked', true);

           单击按钮无效哦!

那么使用: .prop()

获取匹配的元素集中第一个元素的属性(property)值或设置每一个匹配元素的一个或多个属性。

Contents:

  • .prop( propertyName )
    • .prop( propertyName )
  • .prop( propertyName, value )
    • .prop( propertyName, value )
    • .prop( properties )
    • .prop( propertyName, function(index, oldPropertyValue) )
  • 考虑一个DOM元素的HTML标记中定义的<input type="checkbox" checked="checked" /> ,并假设它是一个JavaScript变量命名的elem :

    elem.checked true (Boolean) 将随着复选框状态的改变而改变
    $(elem).prop("checked") true (Boolean) 将随着复选框状态的改变而改变
    elem.getAttribute("checked") "checked" (String) 复选框的初始状态;不会改变
    $(elem).attr("checked") (1.6) "checked" (String) 复选框的初始状态;不会改变
    $(elem).attr("checked") (1.6.1+) "checked" (String) 将随着复选框状态的改变而改变
    $(elem).attr("checked") (pre-1.6) true (Boolean) 将随着复选框状态的改变而改变

  解决:

     $('[type=checkbox]:checkbox').prop('checked', true);

猜你喜欢

转载自blog.csdn.net/hlx20080808/article/details/86490121