jQuery中attr和prop方法的区别
3个回答
展开全部
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
举例:
<a href="#" id="link1" action="delete">删除</a>
这个例子里<a>元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的,<a>元素本身是没有这个属性的。
因此获取action使用attr方式获取,其他需要通过prop方式获取
补充:
在jquery1.6之前的所有版本中都使用attr方法来获取
展开全部
相比attr,prop是1.6.1才新出来的,两者从中文意思理解,都是获取/设置属性的方法(attributes和properties)。只是,window或document中使用.attr()方法在jQuery1.6之前不能正常运行,因为window和document中不能有attributes。prop应运而生了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
比如说·
<input id="c1" type="checkbox" />是否可见
<input id="c2" type="checkbox" checked="checked" />是否可见
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
$("#c1").prop("checked") == false
$("#c2").prop("checked") == true
如果上面使用attr方法,则会出现:
$("#c1").attr("checked") == undefined
$("#c2").attr("checked") == "checked"
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
比如说·
<input id="c1" type="checkbox" />是否可见
<input id="c2" type="checkbox" checked="checked" />是否可见
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
$("#c1").prop("checked") == false
$("#c2").prop("checked") == true
如果上面使用attr方法,则会出现:
$("#c1").attr("checked") == undefined
$("#c2").attr("checked") == "checked"
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询