关于jquery attr()与prop() 的区别

  本菜鸡最近学习用JQ,从来没用过jq得 经常出BUG,今天就出了BUG了。

  给元素绑定事件,点击全选 取消全不选。 使用的是 给按钮添加一个 change 事件,其实click 也可以,用change显得专业一些 。

  ok , 用prop() 来判断checked值为true OR false  这个没问题,问题出在使用 attr()来设置 checked,true ,

  prop() 与 attr() 还是有很大区别的,一开始用attr 恩 逻辑上没问题,初次操作正常。

  反复操作以后,虽然数据绑定上去了,按钮样式不再发生变化了,显示都是未选中的状态!

  F12查看发现checked="checked"是绑定上去了的,但是页面样式不再发生改变,换上prop(checked,true)  则能够正常改变。

  可能是因为attr 适合添加元素未有的 属性,而原有的属性就差很多,而prop()则适合原有自带的属性的修改、查询

原文地址:https://www.cnblogs.com/fordouble/p/6978063.html