jQuery|jQuery中的prop和attr

文章图片

文章图片
在JQuery中 , 对CheckBox的操作分两个阶段 , 一个是JQuery1.6之前的版本 , 一个是1.6之后的版本
在1.6之前 , 我们这么做:
但是细心的同学会发现 , 在jQuery1.6之后 , 如果还像上面这么做 , 那肯定会出问题: $('#checkbox').attr('checked');获取到的值并不是true和false , 而是checked或者undefined
【jQuery|jQuery中的prop和attr】那在1.6之后如何进行操作呢?
jQuery在之后的版本中对属性和特性进行了比较细致的区分 , 什么是特性呢? 特性就是像 checked , selectedIndex tagName nodeName nodeType ownerDocument defaultChecked 和defaultSelected等等这些 。
那prop()和attr()到底有什么区别呢?
于build-in属性 , attribute和property共享数据 , attribute更改了会对property造成影响 , 反之亦然 , 但是两者的自定义属性是独立的数据 , 即使name一样 , 也互不影响 , 看起来是下面这张图 , 但是IE6、7没有作区分 , 依然共享自定义属性数据
并不是所有的attribute与对应的property名字都一致 , 比如刚才使用的attribute 的class属性 , 使用property操作的时候应该是这样className t.className='active2';
对于值是true/false的property , 类似于input的checked attribute等 , attribute取得值是HTML文档字面量值 , property是取得计算结果 , property改变并不影响attribute字面量 , 但attribute改变会一向property计算 <input id=\"test3\" type=\"checkbox\"/>
对于一些和路径相关的属性 , 两者取得值也不尽相同 , 但是同样attribute取得是字面量 , property取得是计算后的完整路径 <a id=\"test4\" href=https://mparticle.uc.cn/"#\">Click</a> js var
推荐阅读
- 识别“95”号段中的“李鬼” 这些小技巧要掌握!
- Mr阿飞|UI设计中的空状态设计指南
- 阴阳师:细数“为崽而战”中的细节设计,让玩家们有些感动
- 八佰|电影《八佰》中的壮士,真实结局如何?沦为日军苦役活下来没几个
- 中年|社交网络中的信息交流效率 社交网络并非越大越好
- 新机发布|诺基亚N系列又有“新机”,捡到传说中的诺基亚N87
- 小霸王的游戏领域|阴阳师:细数“为崽而战”中的细节设计,让玩家们有些感动
- 萌宠爱好者|美丽的海边城市,梦中的仙气飘飘的岛屿,厦门鼓浪屿欢迎您
- 读书人x拾九|叔本华《人生的智慧》:在痛苦和无聊中的生活,该如何摆脱
- 去了才知道大理:不止想象中的模样
