新jQuery中attr 与 prop的不同

时间:2022-10-02 09:30:12

使用最新版本jquery,在对checkbox操作时发现 attr属性全选,反选等不起作用,后查发现新版本对标签属性的设置发生了变化。

在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。

关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:

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

对全选,全不选,反选的操作代码如下:

       $("#all").click(function () {
$(":checkbox").prop('checked', true);
});
$("#no").click(function () {
$(":checkbox").prop('checked', false);
});
$("#rev").click(function () {
$(":checkbox").each(function () {
$(this).prop("checked", !$(this).prop("checked"));
});
})