首页 > 代码库 > jQuery prop() 源码解读
jQuery prop() 源码解读
prop: function( elem, name, value ) { var ret, hooks, notxml, nType = elem.nodeType; // don‘t get/set properties on text, comment and attribute nodes //标签不存在或者是文本、属性、注释节点 if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { return; } notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); if ( notxml ) { // 属性中的for与class涉及到保留字,所以通过propFix分别对应到htmlFor和className // propFix: { // "for": "htmlFor", // "class": "className" // } name = jQuery.propFix[ name ] || name; // propHooks: { // tabIndex: { // get: function( elem ) { // return elem.hasAttribute( "tabindex" ) || rfocusable.test( elem.nodeName ) || elem.href ? // elem.tabIndex : // -1; // } // } // } //hasAttribute IE9+ //rfocusable 用于检测可以处于焦点的表单元素正则 hooks = jQuery.propHooks[ name ]; } if ( value !== undefined ) {//赋值 return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? ret : ( elem[ name ] = value ); } else {//取值 return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? ret : elem[ name ]; } }
jQuery prop() 源码解读
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。