jquery中attr和prop的区别

Posted strenghthen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery中attr和prop的区别相关的知识,希望对你有一定的参考价值。

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

 关于它们两个的区别:

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

 

    // 全选、取消全选
    $("#btn1").on(‘click‘, function () {
        $("input[type=checkbox]").prop("checked", true);
    })
    $("#btn2").click(function () {
        $("input[type=checkbox]").prop("checked", false);
    })

 

再举一个例子:

<input id="chk1" type="checkbox" />是否可见
<input id="chk2" type="checkbox" checked="checked" />是否可见

像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。

$("#chk1").prop("checked") == false
$("#chk2").prop("checked") == true

如果上面使用attr方法,则会出现:

$("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"

以上是关于jquery中attr和prop的区别的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中prop() 和 attr()的区别

jQuery中attr和prop方法的区别

jQuery 中 attr() 和 prop() 方法的区别

关于jQuery表单选择中prop和attr的区别。

jquery中attr和prop的区别

jquery中attr和prop的区别