新jQuery中attr 与 prop的不同

使用最新版本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"));
                });
            })