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
if( tag.charAt( 0 ) === '/' ) tag = tag.slice( 1 );\r
xnode._tag = tag;\r
//};\r
- xnode._root = parent._root;\r
- xnode._dirty = 0;\r
+ xnode._flags |= X_Node_State.IN_TREE;\r
+ xnode._flags &= X_Node_BitMask_RESET_DIRTY;\r
elm.UID = xnode._uid;\r
current.xtext = null;\r
\r
xnode.attr( 'value', xnode.html() ).empty();\r
\r
} else\r
- //if( X_TEMP._isCleanupTarget( elm ) ){// !xnode.hasClass( 'skip-cleanup' ) && ( X_Dom_DTD_CLEANUP_TAGS[ tag ] || xnode.hasClass( 'cleanup-target' ) ) ){ // ie で body 内の script が2度よばれるのに対処\r
- //alert( '[' +parent._tag + '>' + xnode._tag + '] remove ... ' );\r
- //xnode.destroy();\r
- //} else\r
if( elm.childNodes && elm.childNodes.length ){\r
//alert( '[' +parent._tag + '>' + xnode._tag + ' ' + (xnode._xnodes ? xnode._xnodes.length : '' ) + '] === ' + tag + ' ' + (elm.childNodes ? elm.childNodes.length : '' ) + ' Hit\n' + elm.outerHTML );\r
//current.xtext = null;\r
break;\r
};\r
alert( parent._tag + ' > ' + '"' + xnode._text + '" !== ' + tag + '\n' +\r
- 'prev : ' + ( xnode.prevNode() && xnode.prevNode().html() ) + '\n' +\r
- 'next : ' + ( xnode.nextNode() && xnode.nextNode().html() ) + '\n' +\r
+ 'prev : ' + ( xnode.prev() && xnode.prev().html() ) + '\n' +\r
+ 'next : ' + ( xnode.next() && xnode.next().html() ) + '\n' +\r
'html : ' + elm.outerHTML );\r
break;\r
};\r
\r
++current.j;\r
xnode._rawObject = elm;\r
- xnode._dirty = 0;\r
+ xnode._flags |= X_Node_State.IN_TREE;\r
+ xnode._flags &= X_Node_BitMask_RESET_DIRTY;\r
xnode._text = elm.data; // 正確\r
- xnode._root = parent._root;\r
+ \r
if( !skipCleanup ){\r
if( !( text = xnode._text ) || ( text = X_String_cleanupWhiteSpace( text ) ) === ' ' ){\r
console.log( '[' +parent._tag + '>' + xnode._uid + '] destroy ... ' );\r
\r
xnode.parent = parent;\r
\r
- if( xnode._xnodeType === 3 ){\r
+ if( !xnode._tag ){\r
+ xnode._flags |= X_Node_State.IN_TREE;\r
+ xnode._flags &= X_Node_BitMask_RESET_DIRTY;\r
//alert( X_String_cleanupWhiteSpace( xnode._text ) );\r
if( !skipCleanup ){\r
if( !( text = xnode._text ) || ( text = X_String_cleanupWhiteSpace( text ) ) === ' ' ){\r
xnode.destroy();\r
+ xnode = null;\r
} else\r
if( xtext ){\r
//alert( 'xtext ' + text.charCodeAt( 0 ) + ' : ' + text.length );\r
//alert( 'xnode ' + text.charCodeAt( 0 ) + ' : ' + text.length );\r
xnode.text( text );\r
};\r
- } else\r
- if( xtext ){\r
- //alert( 'skip ' + text.charCodeAt( 0 ) + ' : ' + text.length );\r
- xtext.text( xtext._text + xnode._text );\r
- xnode.destroy();\r
+ } else {\r
+ if( xtext ){\r
+ //alert( 'skip ' + text.charCodeAt( 0 ) + ' : ' + text.length );\r
+ xtext.text( xtext._text + xnode._text );\r
+ xnode.destroy();\r
+ };\r
};\r
- current.flag |= 4;\r
current.xtext = xtext || xnode;\r
- return;\r
- };\r
- \r
- if( xnode._xnodeType !== 1 ){\r
- //alert( xnode._xnodeType )\r
+ parent._flags |= X_Node_State.IE4_HAS_TEXTNODE;\r
return;\r
};\r
\r
++current.j;\r
\r
xnode._rawObject = elm;\r
- xnode._dirty = 0;\r
- xnode._root = parent._root;\r
+ xnode._flags |= X_Node_State.IN_TREE;\r
+ xnode._flags &= X_Node_BitMask_RESET_DIRTY;\r
//xnode._tag = X_Dom_DTD_TAG_FIX[ tag ] || tag;\r
if( X_TEMP._isCleanupTarget( elm ) ){ //!xnode.hasClass( 'skip-cleanup' ) && ( X_Dom_DTD_CLEANUP_TAGS[ tag ] || xnode.hasClass( 'cleanup-target' ) ) ){\r
xnode.destroy();\r
( xnode._attrs = { type : 'text' } ) :\r
xnode._attrs.type || ( xnode._attrs.type = 'text' )\r
);\r
- current.flag |= 3;\r
+ parent._flags |= X_Node_State.IE4_HAS_ELEMENT;\r
current.xtext = null;\r
\r
if( tag === 'TEXTAREA' ){\r
if( !xnode._rawObject ){\r
alert( xnode._tag + ' ' + xnode._id + ' !== none...' );\r
};\r
- \r
- // textNode がある\r
- ( current.flag & 6 ) && ( parent._dirty |= X_Node_Dirty.IE4_TEXTNODE_FIX );\r
});\r
\r
console.log( 'X.Dom.Builder' );\r