码迷,mamicode.com
首页 > 其他好文 > 详细

jq的attr()与prop()之间区别

时间:2018-08-09 19:23:11      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:cte   select   替代品   表单元素   加载   单元   效率   解释   获取   

1.以版本划分:attr() 一直存在,prop() 仅存在于 jq-1.6 及其之后

2.两个原则:“

第一:只添加属性名称就可以使属性生效的就应该使用prop();

第二:只存在true/false的属性应该使用prop()。

(从效率、趋势上看 prop() 是 attr() 的替代品,

直白点,jq-1.6+版本 就用 prop() 吧)

3.原理解释:

3.1表单元素的checked、selected、disabled等属性,在 jq-1.6 之前,attr()返回值为被选中(或禁用)就返回true,否则返回false。

3.2但是从1.6开始,使用attr()获取这些属性的返回值为String类型,即如果被选中(或禁用)就返回checked、selected或disabled;否则(即元素节点没有该属性)返回undefined。

并且,在某些版本中,这些属性值表示文档加载时的初始状态值,即使之后更改了这些元素的选中(或禁用)状态,对应的属性值也不会发生改变。

4.使用经验

对于基于低版本 jq 开发的页面,使用条件判断优先判断 attr() 或者 仅使用 attr(),1.6+全部使用 prop()

 

jq的attr()与prop()之间区别

标签:cte   select   替代品   表单元素   加载   单元   效率   解释   获取   

原文地址:https://www.cnblogs.com/justSmile2/p/9450915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!