jQuery prop() 源碼解讀

來源:互聯網
上載者:User

標籤:

    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個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.