jQuery设置元素attribute之特殊属性

一般我们使用.attr()对某个dom元素设置attribute属性。今天在使用过程中发现在给input设置disabled属性为true时,最终元素disabled属性值解析成了disabled,并不是所需要的true。

查看jQuery的源码后才发现,jQuery内置有个属性集合,当要设置的属性在这个集合里面的时候,值就统一设置为该属性。

这个集合的名称为jQuery.expr.match.bool。对应的正则表达式值如下

/^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i

 刚开始没有去看源码的时候,还以为是HTML的机制呢,个人觉得jQuery这样做的原因应该是为了符合html的规范吧。

posted on 2016-11-09 13:46  霞光2016  阅读(941)  评论(0编辑  收藏  举报

导航