jquery中attr和prop的区别与如何选用

在高版本的 jquery 引入 prop 方法后,什么时候该用 prop?什么时候用 attr?它们两个之间有什么区别?这些问题就出现了。
关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:

对于 HTML 元素本身就带有的固有属性,在处理时,使用 prop 方法。
对于 HTML 元素我们自己自定义的 DOM 属性,在处理时,使用 attr 方法。

jquery checkbox 勾选/取消勾选的诡异问题解决

1
2
3
4
5
6
7
$("#CheckedAll").click(function () {
if ($(this).is(":checked")) {
$("[name=items]:checkbox").attr("checked", true);
} else {
$("[name=items]:checkbox").attr("checked", false);
}
});

第一次执行,没问题,但第二次执行就有问题了,选择不了
解决办法:把 attr()换成 prop()