JS中attr和prop区别
一、attr和prop区别
attr 是从页面搜索获得元素值,所以页面必须明确定义元素才能获取值,相对来说较慢。
prop是从属性对象中取值,属性对象中有多少属性,就能获取多少值,不需要在页面中显示定义。
二、attr和prop怎么选择?
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。快速,准确。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
三、例子
-
<input id="chke1" type="checkbox" />记住密码
-
<input id="chke2" type="checkbox" checked="checked" />记住密码
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
-
$("#chke1").prop("checked");// false
-
$("#chke2").prop("checked");// true
-
-
$("#chke1").attr("checked"); //undefined
-
$("#chke2").attr("checked"); //"checked"