tinymce.html.js
function() {
                var i, l, selfAttrs, selfAttr, cloneAttrs, self = this,
                    clone = new Node(self.name, self.type);
                // Clone element attributes
                if (selfAttrs = self.attributes) {
                    cloneAttrs = [];
                    cloneAttrs.map = {};
                    for (i = 0, l = selfAttrs.length; i < l; i++) {
                        selfAttr = selfAttrs[i];
                        // Clone everything except id
                        if ('id' !== selfAttr.name) {
                            cloneAttrs[cloneAttrs.length] = {
                                name: selfAttr.name,
                                value: selfAttr.value
                            };
                            cloneAttrs.map[selfAttr.name] = selfAttr.value;
                        }
                    }
                    clone.attributes = cloneAttrs;
                }
                clone.value = self.value;
                clone.shortEnded = self.shortEnded;
                return clone;
            }
function() {
                var i, l, selfAttrs, selfAttr, cloneAttrs, self = this,
                    clone = new Node(self.name, self.type);
                // Clone element attributes
                if (selfAttrs = self.attributes) {
                    cloneAttrs = [];
                    cloneAttrs.map = {};
                    for (i = 0, l = selfAttrs.length; i < l; i++) {
                        selfAttr = selfAttrs[i];
                        // Clone everything except id
                        if ('id' !== selfAttr.name) {
                            cloneAttrs[cloneAttrs.length] = {
                                name: selfAttr.name,
                                value: selfAttr.value
                            };
                            cloneAttrs.map[selfAttr.name] = selfAttr.value;
                        }
                    }
                    clone.attributes = cloneAttrs;
                }
                clone.value = self.value;
                clone.shortEnded = self.shortEnded;
                return clone;
            }
function ( ) { var i , l , selfAttrs , selfAttr , cloneAttrs , self = this , clone = new Node ( self . name , self . type ) ; // Clone element attributes if ( selfAttrs = self . attributes ) { cloneAttrs = [ ] ; cloneAttrs . map = { } ; for ( i = 0 , l = selfAttrs . length ; i < l ; i ++ ) { selfAttr = selfAttrs [ i ] ; // Clone everything except id if ( 'id' !== selfAttr . name ) { cloneAttrs [ cloneAttrs . length ] = { name : selfAttr . name , value : selfAttr . value } ; cloneAttrs . map [ selfAttr . name ] = selfAttr . value ; } } clone . attributes = cloneAttrs ; } clone . value = self . value ; clone . shortEnded = self . shortEnded ; return clone ; }
Does a shallow clones the node into a new node. It will also exclude id attributes since
there should only be one id per document.

@example
var clonedNode = node.clone();

@method clone
@return {tinymce.html.Node} New copy of the original node.
Does a shallow clones the node into a new node . It will also exclude id attributes since there should only be one id per document .