OSDN Git Service

Version 0.6.123, remove xnode._nodeType.
authoritozyun <itozyun@user.sourceforge.jp>
Tue, 20 Jan 2015 13:24:53 +0000 (22:24 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Tue, 20 Jan 2015 13:24:53 +0000 (22:24 +0900)
0.6.x/js/02_dom/02_XNode.js
0.6.x/js/02_dom/03_XDomEvent.js
0.6.x/js/02_dom/05_XNodeAttr.js
0.6.x/js/02_dom/06_XNodeCSS.js
0.6.x/js/02_dom/07_XNodeList.js
0.6.x/js/02_dom/08_XNodeSelector.js
0.6.x/js/02_dom/22_XTreeBuilder.js

index d66de3f..9f5fa99 100644 (file)
@@ -8,8 +8,6 @@ var
                ELM_EXIST              : 2 <<  1,\r
                ELM_IN_TREE            : 2 <<  2,\r
                \r
-               IS_TEXTNODE            : 2 <<  3,\r
-               \r
                STYLE_IS_DISPLAY_NONE  : 2 <<  4, // display:none               \r
                STYLE_IS_HIDDEN        : 2 <<  5, // visibility:hidden opacity:0\r
                STYLE_IS_POS_ABSOLUTE  : 2 <<  6, // position:absolute\r
@@ -23,7 +21,7 @@ var
                \r
                IE4_ONLY_TEXT          : 2 << 14,\r
                IE5_DISPLAY_NONE_FIX   : X_UA.IE5 && X_UA.ActiveX ? 2 << 15 : 0, // filterがかかっていると不可ってことかも? MacIE5.2- は ?\r
-               UNKNOWN_TAG_FIX        : 2 << 16,\r
+               UNKNOWN_TAG_FIX        : 2 << 16, // 使っていない\r
                IE4_TEXTNODE_FIX       : 2 << 17,\r
                \r
                DIRTY_CHILD            : 2 << 18, // 使っていない\r
@@ -115,7 +113,6 @@ var
                        if( X_Node_newByTag ){\r
                                X_Node_newByTag = false;\r
                                this._tag       = v.toUpperCase();\r
-                               this._xnodeType = 1;\r
                                this._flags     |= X_Node_State.EXIST;\r
                                arguments[ 1 ] && this.attr( arguments[ 1 ] );\r
                                css = arguments[ 2 ];\r
@@ -124,8 +121,7 @@ var
                        if( X_Node_newByText ){\r
                                X_Node_newByText = false;\r
                                this._text       = v;\r
-                               this._xnodeType  = 3;\r
-                               this._flags      |= X_Node_State.EXIST | X_Node_State.IS_TEXTNODE;\r
+                               this._flags      |= X_Node_State.EXIST;\r
                        } else {\r
                                if( 1 < arguments.length ) return new X_NodeList( arguments );\r
                                if( X.Type.isArray( v ) && v.length ) return new X_NodeList( v );\r
@@ -144,7 +140,6 @@ var
                                                        this._flags |= X_Node_State.IN_TREE | X_Node_State.ELM_IN_TREE;\r
                                                };\r
                                                this._rawObject = v;\r
-                                               this._xnodeType = 1;\r
                                                this._flags     |= X_Node_State.EXIST | X_Node_State.ELM_EXIST;\r
                                                this._tag       = v.tagName.toUpperCase();\r
                                                this._id        = v.id;\r
@@ -167,8 +162,7 @@ var
                                                this.parent     = X_Node_getXNode( v.parentNode );\r
                                                if( this.parent && this.parent._root ) this._root = this.parent._root;\r
                                                this._rawObject = v;\r
-                                               this._xnodeType = 3;\r
-                                               this._flags     |= X_Node_State.EXIST | X_Node_State.IS_TEXTNODE;\r
+                                               this._flags     |= X_Node_State.EXIST;\r
                                                this._text      = v.data;\r
                                                v.UID = uid;\r
                                                break;\r
@@ -335,7 +329,7 @@ var X_Node__ie4getRawNode = X_UA_DOM.IE4 && function ( that ){
  */\r
 function X_Node_create( tag, opt_attrs, opt_css ){\r
        var xnode;\r
-       if( this._xnodeType !== 1 ) return;\r
+       if( !this._tag ) return;\r
        if( !this._xnodes ) this._xnodes = [];\r
        \r
        xnode = X_Doc_create( tag, opt_attrs, opt_css );\r
@@ -356,7 +350,7 @@ function X_Node_createAt( index, tag, opt_attrs, opt_css ){
  */\r
 function X_Node_createText( text ){\r
        var xnode;\r
-       if( this._xnodeType !== 1 ) return;\r
+       if( !this._tag ) return;\r
        if( !this._xnodes ) this._xnodes = [];\r
        \r
        X_Node_newByText = true;\r
@@ -380,27 +374,20 @@ function X_Node_createTextAt( index, text ){
  */\r
 function X_Node_clone( opt_clone_children ){\r
        var xnode, xnodes, i, l;\r
-       switch( this._xnodeType ){\r
-               case 1 :\r
-                       X_Node_newByTag = true;\r
-                       xnode = new Node( this._tag, X_Object_clone( this._attrs ), X_Object_clone( this._css ) )\r
-                               .attr( { 'id' : this._id } )\r
-                               .className( this._className );\r
-                       if( opt_clone_children && ( xnodes = this._xnodes ) && ( l = xnodes.length ) ){\r
-                               for( i = 0; i < l; ++i ){\r
-                                       xnode.append( xnodes[ i ].clone( true ) );\r
-                               };\r
+       if( this._tag ){\r
+               X_Node_newByTag = true;\r
+               xnode = new Node( this._tag, X_Object_clone( this._attrs ), X_Object_clone( this._css ) )\r
+                       .attr( { 'id' : this._id } )\r
+                       .className( this._className );\r
+               if( opt_clone_children && ( xnodes = this._xnodes ) && ( l = xnodes.length ) ){\r
+                       for( i = 0; i < l; ++i ){\r
+                               xnode.append( xnodes[ i ].clone( true ) );\r
                        };\r
-                       return xnode;\r
-               case 3 :\r
-                       X_Node_newByText = true;\r
-                       xnode = new Node( this._text );\r
-                       return xnode;\r
-               \r
-               //case 0 :\r
-               //case 2 :\r
+               };\r
+               return xnode;           \r
        };\r
-       return this;\r
+       X_Node_newByText = true;\r
+       return new Node( this._text );\r
 };\r
 \r
 /* --------------------------------------\r
@@ -410,7 +397,7 @@ function X_Node_clone( opt_clone_children ){
  */\r
 function X_Node_append( v ){\r
        var i, l, xnodes, frg;\r
-       if( this._xnodeType !== 1 ) return;\r
+       if( !this._tag ) return;\r
        \r
        if( 1 < ( l = arguments.length ) ){\r
                for( i = 0; i < l; ++i ){\r
@@ -430,7 +417,6 @@ function X_Node_append( v ){
                case X_Node_TYPE.STRING :\r
                        return this.append.apply( this, X_HtmlParser_parse( v, true ) );\r
                case X_Node_TYPE.XNODE :\r
-                       if( v._xnodeType !== 1 && v._xnodeType !== 3 ) return this;\r
                        // 親の xnodes から v を消す\r
                        if( v.parent ){\r
                                v.remove();\r
@@ -450,7 +436,7 @@ function X_Node_append( v ){
 function X_Node_appendAt( start, v ){\r
        var xnodes, l, i;\r
        \r
-       if( this._xnodeType !== 1 ) return this;\r
+       if( !this._tag ) return this;\r
        \r
        l = arguments.length;\r
        if( !( xnodes = this._xnodes ) ) xnodes = this._xnodes = [];\r
@@ -483,7 +469,6 @@ function X_Node_appendAt( start, v ){
                        };\r
                        return this;\r
                case X_Node_TYPE.XNODE :\r
-                       if( v._xnodeType !== 1 && v._xnodeType !== 3 ) return this;\r
                        // 親の xnodes から v を消す\r
                        if( v.parent ){\r
                                v.remove();\r
@@ -656,7 +641,7 @@ function X_Node_destroy( isChild ){
  */\r
 function X_Node_contains( v ){\r
        var elm, type, xnodes, i;\r
-       if( !v || this._xnodeType !== 1 || this === v ) return false;\r
+       if( !v || !this._tag || this === v ) return false;\r
        // contains ie4+\r
        if( ( elm = this._rawObject || X_UA_DOM.IE4 && X_Node__ie4getRawNode( this ) ) && document.contains && ( type = X_Node_getType( v ) ) && ( type === X_Node_TYPE.RAW_HTML || type === X_Node_TYPE.RAW_TEXT ) ){\r
                return elm.contains( v );       \r
@@ -678,7 +663,7 @@ function X_Node_contains( v ){
  *  getChild\r
  */\r
 function X_Node_getChildAt( i ){\r
-       var xnodes = this._xnodeType === 1 && this._xnodes;\r
+       var xnodes = this._xnodes;\r
        return xnodes && 0 <= i && i < xnodes.length && xnodes[ i ];\r
 };\r
 \r
@@ -803,12 +788,12 @@ function X_Node_html( html ){
        var _ = '', q = '"', xnodes, n, i, l;\r
        // setter\r
        if( html !== undefined ){ // String 以外に Number や false null なども許可\r
-               if( this._xnodeType === 3 ) return this.text( html );\r
+               if( !this._tag ) return this.text( html );\r
                return html ? this.empty().append.apply( this, X_HtmlParser_parse( html, true ) ) : this.empty();\r
        };\r
        \r
        // getter\r
-       if( this._xnodeType === 3 ){\r
+       if( !this._tag ){\r
                return this._text;\r
        };\r
        \r
@@ -846,7 +831,7 @@ function X_Node_text( text ){
                if( text === null ) text = '';\r
                text += '';\r
                \r
-               if( this._xnodeType === 3 ){\r
+               if( !this._tag ){\r
                        if( this._text !== text ){\r
                                text ? ( this._text = text ) : delete this.text;\r
                                this._root && X_Node_reserveUpdate();\r
@@ -855,7 +840,7 @@ function X_Node_text( text ){
                        return this;\r
                };\r
                if( !text ) return this.empty();\r
-               if( ( xnodes = this._xnodes ) && xnodes.length === 1 && xnodes[ 0 ]._xnodeType === 3 ){\r
+               if( ( xnodes = this._xnodes ) && xnodes.length === 1 && !xnodes[ 0 ]._tag ){\r
                        xnodes[ 0 ].text( text );\r
                        return this;\r
                };\r
@@ -863,7 +848,7 @@ function X_Node_text( text ){
                return this;\r
        };\r
        // getter\r
-       if( this._xnodeType === 1 ){\r
+       if( this._tag ){\r
                if( ( xnodes = this._xnodes ) && ( l = xnodes.length ) ){\r
                        for( texts = [], i = 0; i < l; ++i ){\r
                                texts[ i ] = xnodes[ i ].text();\r
@@ -884,6 +869,21 @@ function X_Node_call( name /*, opt_args... */ ){
                \r
        X_Node_updateTimerID && X_Node_startUpdate();\r
        \r
+       switch( name ){\r
+               case 'nodeType' :\r
+                       return this._tag ? 1 : 3;\r
+               case 'text' :\r
+                       return this.text();\r
+               case 'html' :\r
+               case 'innerHTML' :\r
+                       return this.html();\r
+               case 'outerHTML' :\r
+                       X_Node_outerXNode = this;\r
+                       v = this.html();\r
+                       X_Node_outerXNode = null;\r
+                       return v;\r
+       };\r
+       \r
        raw  = this._rawObject || X_UA_DOM.IE4 && X_Node__ie4getRawNode( this );\r
        if( !raw ) return;\r
        \r
@@ -1042,7 +1042,7 @@ var X_Node__commitUpdate =
                        xnodes = that._xnodes;\r
                        l      = xnodes ? xnodes.length : 0;\r
                        \r
-                       if( that._flags & X_Node_State.IE4_TEXTNODE_FIX || ( that._flags & X_Node_State.IE4_ONLY_TEXT && ( l !== 1 || xnodes[ 0 ]._xnodeType !== 3 ) ) ){ // 1 < l && elm.children.length === 0\r
+                       if( that._flags & X_Node_State.IE4_TEXTNODE_FIX || ( that._flags & X_Node_State.IE4_ONLY_TEXT && ( l !== 1 || xnodes[ 0 ]._tag ) ) ){ // 1 < l && elm.children.length === 0\r
                                html = [];\r
                                for( i = 0; i < l; ++i ){\r
                                        html[ i ] = X_Node__actualCreate( xnodes[ i ] );\r
@@ -1236,7 +1236,7 @@ var X_Node__actualCreate =
                var elm = that._rawObject,\r
                        xnodes, frg, i, l;\r
                \r
-               if( that._xnodeType === 3 ){\r
+               if( !that._tag ){\r
                        if( elm ) return elm;\r
                        //delete that._flags;\r
                        that._flags &= X_Node_DIRTY_MASK_RESET;\r
@@ -1276,7 +1276,7 @@ var X_Node__actualCreate =
                var uid = that._uid,\r
                        html, xnodes, n, i, l;\r
                \r
-               if( that._xnodeType === 3 ){\r
+               if( !that._tag ){\r
                        html = [ '<FONT id=ie4uid', uid, ' UID="', uid, '">', that._text, '</FONT>' ];// fake textNode\r
                        delete that._rawObject;\r
                } else {\r
@@ -1295,7 +1295,7 @@ var X_Node__actualCreate =
                        \r
                        n = html.length;\r
                        if( ( xnodes = that._xnodes ) && ( l = xnodes.length ) ){\r
-                               if( l === 1 && xnodes[ 0 ]._xnodeType === 3 ){\r
+                               if( l === 1 && !xnodes[ 0 ]._tag ){\r
                                        // only textnode\r
                                        html[ n ] = xnodes[ 0 ]._text;\r
                                        ++n;\r
@@ -1322,7 +1322,7 @@ var X_Node__afterActualCreate =
 \r
                that._root  = that.parent._root;\r
                \r
-               if( that._xnodeType === 3 ){\r
+               if( !that._tag ){\r
                        // that._flags && X_Node__updateRawNode( that, elm );\r
                        that._flags & X_Node_DIRTY_MASK && X_Node__updateRawNode( that, elm );\r
                        return that;\r
@@ -1384,7 +1384,7 @@ var X_Node__afterActualCreate =
                var xnodes, i;\r
                that._root = that.parent._root;\r
                \r
-               if( that._xnodeType !== 1 ) return that;\r
+               if( !that._tag ) return that;\r
                \r
                if( ( xnodes = that._xnodes ) && ( i = xnodes.length ) ){\r
                        for( ; i; ){\r
@@ -1411,7 +1411,7 @@ var X_Node__actualRemove =
                        if( xnodes && ( l = xnodes.length ) ){\r
                                for( i = 0; i < l; ++i ){\r
                                        child = xnodes[ i ];\r
-                                       child._xnodeType === 1 && X_Node__actualRemove( child, true );\r
+                                       child._tag && X_Node__actualRemove( child, true );\r
                                };\r
                        };\r
 \r
index 8708746..3910b6f 100644 (file)
@@ -260,7 +260,7 @@ if( !X_UA.IE || 9 <= X_UA.IE ){
                \r
                this.type          = X_Event_RenameTo[ originalType ] || originalType;\r
                this.target        = X_Node_getXNode( e.srcElement ); // xnode\r
-               if( this.target && this.target._xnodeType === 3 ) this.target = this.target.parent; // ie4 の fake Textnode がヒットしていないか?\r
+               if( this.target && !this.target._tag ) this.target = this.target.parent; // ie4 の fake Textnode がヒットしていないか?\r
                this.currentTarget = xnode; // xnode\r
                this.relatedTarget = X_Node_getXNode( e.formElement || e.toElement ); // xnode\r
                this.eventPhase    = e.srcElement === element ? 2: 3;\r
index a4669c8..cd96a45 100644 (file)
@@ -101,7 +101,7 @@ function X_Node_Attr_objToAttrText( obj ){
 Node.prototype.attr = function( nameOrObj /* v */ ){\r
        var attrs = this._attrs, newAttrs, f, k, elm, v;\r
        \r
-       if( this._xnodeType !== 1 ) return this;\r
+       if( !this._tag ) return this;\r
        \r
        if( nameOrObj && X.Type.isObject( nameOrObj ) ){\r
                attrs || ( attrs = this._attrs = {} );\r
@@ -138,21 +138,9 @@ Node.prototype.attr = function( nameOrObj /* v */ ){
                        case 'tag' :\r
                        case 'tagName' :\r
                                return this._tag;\r
-                       case 'nodeType' :\r
-                               return this._tag ? 1 : 3;\r
                        case 'style' :\r
                        case 'cssText' :\r
                                return this.cssText();\r
-                       case 'text' :\r
-                               return this.text();\r
-                       case 'html' :\r
-                       case 'innerHTML' :\r
-                               return this.html();\r
-                       case 'outerHTML' :\r
-                               X_Node_outerXNode = this;\r
-                               v = this.html();\r
-                               X_Node_outerXNode = null;\r
-                               return v;\r
 \r
                        case 'selected' :\r
                                // kquery.js : safariのバグ対策\r
index 09c399b..a3b6db6 100644 (file)
@@ -487,7 +487,7 @@ Node.prototype.css = function( nameOrObj /* orUnitID, valuOrUnitOrName */ ){
                args  = arguments,
                css   = this._css,
                p, name, v, camelize, unit, ieFix;
-       if( this._xnodeType !== 1 ) return this;
+       if( !this._tag ) return this;
 // setter:object
        if( X.Type.isObject( nameOrObj ) ){
                if( !css ) css = this._css = {};
index 73f3faf..a1bf749 100644 (file)
@@ -3,12 +3,12 @@ function X_NodeList( v ){
        var args = [],\r
                l    = arguments.length,\r
                i    = 0,\r
-               indexOf, xnode, j, n = 0, skip;\r
+               xnode, j, n = 0, skip;\r
+\r
        for( ; i < l; ++i ){\r
-               //args.push( arguments[ i ] );\r
                args.push.apply( args, arguments[ i ] );\r
        };\r
-       //alert( arguments[ 0 ].length + ' , ' + args.length )\r
+\r
        if( ( l = args.length ) === 1 ) return new Node( args[ 0 ] );\r
        if( !this || this.append !== X_NodeList.prototype.append ) return new X_NodeList( args );\r
        \r
@@ -16,7 +16,7 @@ function X_NodeList( v ){
                xnode = args[ i ];\r
                //xnode = xnode && xnode.constructor === Node ? xnode : new Node( xnode );\r
                skip  = false;\r
-               if( xnode._xnodeType === 0 ) continue;\r
+               //if( xnode._xnodeType === 0 ) continue;\r
                for( j = 0; j < n; ++j ){\r
                        if( this[ j ] === xnode ){\r
                                skip = true;\r
index 793e166..7d18c8b 100644 (file)
@@ -320,7 +320,7 @@ function X_Node_Selector__parse( query, last ){
                                case 2 :\r
                                        for( ; i < l; ++i ){\r
                                                for( xnode = parents[ i ].firstChild(); xnode; xnode = xnode.nextNode() ){\r
-                                                       if( xnode._xnodeType === 1 && ( isAll || tagName === xnode._tag ) ) xnodes[ ++n ] = xnode;\r
+                                                       if( xnode._tag && ( isAll || tagName === xnode._tag ) ) xnodes[ ++n ] = xnode;\r
                                                };                              \r
                                        };\r
                                        break;\r
@@ -328,7 +328,7 @@ function X_Node_Selector__parse( query, last ){
                                case 3 :\r
                                        for( ; i < l; ++i ){\r
                                                for( xnode = parents[ i ].nextNode(); xnode; xnode = xnode.nextNode() ){\r
-                                                       if( xnode._xnodeType === 1 ){\r
+                                                       if( xnode._tag ){\r
                                                                if( isAll || tagName === xnode._tag ) xnodes[ ++n ] = xnode;\r
                                                                break;\r
                                                        };                                                                      \r
@@ -340,7 +340,7 @@ function X_Node_Selector__parse( query, last ){
                                        merge  = {};\r
                                        for( ; i < l; ++i ){\r
                                                for( xnode = parents[ i ].nextNode(); xnode; xnode = xnode.nextNode() ){\r
-                                                       if( xnode._xnodeType === 1 && ( isAll || tagName === xnode._tag ) ){\r
+                                                       if( xnode._tag && ( isAll || tagName === xnode._tag ) ){\r
                                                                uid = xnode._uid;\r
                                                                if( merge[ uid ] ){\r
                                                                        break;\r
@@ -536,7 +536,7 @@ function X_Node_Selector__parse( query, last ){
                        j, child, _xnodes;\r
                for( ; i < l; ++i ){\r
                        child = xnodes[ i ];\r
-                       if( child._xnodeType !== 1 ) continue;\r
+                       if( !child._tag ) continue;\r
                        //console.log( child._tag );\r
                        if( ( j = list.indexOf( child ) ) !== -1 ){\r
                                newList[ newList.length ] = child;\r
@@ -561,7 +561,7 @@ function X_Node_Selector__parse( query, last ){
                        child;\r
                for( ; i < l; ++i ){\r
                        child = xnodes[ i ];\r
-                       if( child._xnodeType === 1 ){\r
+                       if( child._tag ){\r
                                ( !tag || child._tag === tag ) && ( list[ list.length ] = child );\r
                                //console.log( parent._tag + ' > ' + child._tag + ' == ' + tag+ ' l:' + list.length );\r
                                child._xnodes && child._xnodes.length && X_Node_Selector__fetchElements( list, child, tag );\r
@@ -579,7 +579,7 @@ function X_Node_Selector__parse( query, last ){
                        tmp     = null;\r
                        if( /* tmp === null && */ type <= 0 ){\r
                                for( node = xnode.prevNode(); node; node = node.prevNode() ){\r
-                                       if( node._xnodeType === 1 && ( flag_all || tagName === node._tag ) ){\r
+                                       if( node._tag && ( flag_all || tagName === node._tag ) ){\r
                                                tmp = false;\r
                                                break;\r
                                        };\r
@@ -587,7 +587,7 @@ function X_Node_Selector__parse( query, last ){
                        };\r
                        if( tmp === null && 0 <= type ){\r
                                for( node = xnode.nextNode(); node; node = node.nextNode() ){\r
-                                       if( node._xnodeType === 1 && ( flag_all || tagName === node._tag ) ){\r
+                                       if( node._tag && ( flag_all || tagName === node._tag ) ){\r
                                                tmp = false;\r
                                                break;\r
                                        };              \r
@@ -610,7 +610,7 @@ function X_Node_Selector__parse( query, last ){
                        tmp = checked[ uid ];\r
                        if( tmp === void 0 ){\r
                                for( c = 0, node = xnode.parent[ pointer ](), tagName = flag_all || xnode._tag; node; node = node[ sibling ]() ){\r
-                                       if( node._xnodeType === 1 && ( flag_all || tagName === node._tag ) ){\r
+                                       if( node._tag && ( flag_all || tagName === node._tag ) ){\r
                                                ++c;\r
                                                checked[ node._uid ] = a === 0 ? c === b : (c - b) % a === 0 && (c - b) / a >= 0;\r
                                        };                                                      \r
@@ -685,7 +685,7 @@ var X_Node_Selector__filter = {
                        for( ; xnode = xnodes[i]; ++i ){\r
                                tmp = true;\r
                                for( node = xnode.firstChild(); node; node = node.nextSibling() ){\r
-                                       if( node._xnodeType === 1 || ( node._xnodeType === 3 && node._text ) ){\r
+                                       if( node._tag || ( !node._tag && node._text ) ){\r
                                                tmp = false;\r
                                                break;\r
                                        };                              \r
index a422d9d..533f6d9 100644 (file)
@@ -342,7 +342,7 @@ X_TEMP.bindElementToXnode =
                                        continue;\r
                                };\r
                \r
-                               if( xnode._xnodeType === 1 ){\r
+                               if( xnode._tag ){\r
                                        if( elm.nodeType === 3 ){\r
                                                if( !( text = elm.data ) || ( text = X_String_cleanupWhiteSpace( text ) ) === ' ' ){\r
                                                        //alert( text.charCodeAt( 0 ) );\r
@@ -455,7 +455,7 @@ X_TEMP.bindElementToXnode =
                \r
                        xnode.parent = parent;\r
                        \r
-                       if( xnode._xnodeType === 3 ){\r
+                       if( !xnode._tag ){\r
                                //alert( X_String_cleanupWhiteSpace( xnode._text ) );\r
                                if( !skipCleanup ){\r
                                        if( !( text = xnode._text ) || ( text = X_String_cleanupWhiteSpace( text ) ) === ' ' ){\r
@@ -480,8 +480,7 @@ X_TEMP.bindElementToXnode =
                                return;\r
                        };\r
                        \r
-                       if( xnode._xnodeType !== 1 ){\r
-                               //alert( xnode._xnodeType )\r
+                       if( !xnode._tag ){\r
                                return;\r
                        };\r
                        \r