lib/Ext/dom/Element.js
function(element) {
            var cache = this.cache,
                instance, dom, id;

            if (!element) {
                return null;
            }

            // DOM Id
            if (typeof element == 'string') {
                dom = document.getElementById(element);

                if (cache.hasOwnProperty(element)) {
                    instance = cache[element];
                }

                // Is this in the DOM proper
                if (dom) {
                    // Update our Ext Element dom reference with the true DOM (it may have changed)
                    if (instance) {
                        instance.dom = dom;
                    }
                    else {
                        // Create a new instance of Ext Element
                        instance = cache[element] = new this(dom);
                    }
                }
                // Not in the DOM, but if its in the cache, we can still use that as a DOM fragment reference, otherwise null
                else if (!instance) {
                    instance = null;
                }

                return instance;
            }

             // DOM element
            if ('tagName' in element) {
                id = element.id;

                if (cache.hasOwnProperty(id)) {
                    instance = cache[id];
                    instance.dom = element;
                    return instance;
                }
                else {
                    instance = new this(element);
                    cache[instance.getId()] = instance;
                }

                return instance;
            }

            // Ext Element
            if (element.isElement) {
                return element;
            }

            // Ext Composite Element
            if (element.isComposite) {
                return element;
            }

            // Array passed
            if (Ext.isArray(element)) {
                return this.select(element);
            }

            // DOM Document
            if (element === document) {
                // create a bogus element object representing the document object
                if (!this.documentElement) {
                    this.documentElement = new this(document.documentElement);
                    this.documentElement.setId('ext-application');
                }

                return this.documentElement;
            }

            return null;
        }
function(element) {
            var cache = this.cache,
                instance, dom, id;

            if (!element) {
                return null;
            }

            // DOM Id
            if (typeof element == 'string') {
                dom = document.getElementById(element);

                if (cache.hasOwnProperty(element)) {
                    instance = cache[element];
                }

                // Is this in the DOM proper
                if (dom) {
                    // Update our Ext Element dom reference with the true DOM (it may have changed)
                    if (instance) {
                        instance.dom = dom;
                    }
                    else {
                        // Create a new instance of Ext Element
                        instance = cache[element] = new this(dom);
                    }
                }
                // Not in the DOM, but if its in the cache, we can still use that as a DOM fragment reference, otherwise null
                else if (!instance) {
                    instance = null;
                }

                return instance;
            }

             // DOM element
            if ('tagName' in element) {
                id = element.id;

                if (cache.hasOwnProperty(id)) {
                    instance = cache[id];
                    instance.dom = element;
                    return instance;
                }
                else {
                    instance = new this(element);
                    cache[instance.getId()] = instance;
                }

                return instance;
            }

            // Ext Element
            if (element.isElement) {
                return element;
            }

            // Ext Composite Element
            if (element.isComposite) {
                return element;
            }

            // Array passed
            if (Ext.isArray(element)) {
                return this.select(element);
            }

            // DOM Document
            if (element === document) {
                // create a bogus element object representing the document object
                if (!this.documentElement) {
                    this.documentElement = new this(document.documentElement);
                    this.documentElement.setId('ext-application');
                }

                return this.documentElement;
            }

            return null;
        }
Retrieves Ext.dom.Element objects. {@link Ext#get} is alias for {@link Ext.dom.Element#get}.

Uses simple caching to consistently return the same object. Automatically fixes if an object was recreated with
the same id via AJAX or DOM.

@param {String/HTMLElement/Ext.Element} element The `id` of the node, a DOM Node or an existing Element.
@return {Ext.dom.Element} The Element object (or `null` if no matching element was found).
@static
@inheritable