//} else {\r
\r
//};\r
- } else\r
- if( ( i = Node._reserveRemoval.indexOf( v ) ) !== -1 ){\r
- if( !this._state ) alert( 'xnode already destroyed!' );\r
- Node._reserveRemoval.splice( i, 1 );\r
- };\r
+ };// else\r
+ //if( ( i = Node._reserveRemoval.indexOf( v ) ) !== -1 ){\r
+ // if( !this._state ) alert( 'xnode already destroyed!' );\r
+ // Node._reserveRemoval.splice( i, 1 );\r
+ //};\r
break;\r
default :\r
return this;\r
//} else {\r
\r
//};\r
- } else\r
- if( ( i = Node._reserveRemoval.indexOf( v ) ) !== -1 ){\r
- if( !this._state ) alert( 'xnode already destroyed!' );\r
- Node._reserveRemoval.splice( i, 1 );\r
- };\r
+ };// else\r
+ //if( ( i = Node._reserveRemoval.indexOf( v ) ) !== -1 ){\r
+ // if( !this._state ) alert( 'xnode already destroyed!' );\r
+ // Node._reserveRemoval.splice( i, 1 );\r
+ //};\r
break;\r
default :\r
return this;\r
Node._outerFlag = null;\r
\r
Node.prototype.html = function( html ){\r
- var _ = '', xnodes, n, i, l;\r
+ var _ = '', q = '"', xnodes, n, i, l;\r
// setter\r
if( X.Type.isString( html ) ){\r
if( this._xnodeType === 3 ) return this.text( html );\r
};\r
html = !Node._outerFlag ? [] : [\r
'<', this._tag,\r
- this._id ? ' id="' + this._id + '"' : _,\r
- this._className ? ' class="' + this._className + '"' : _,\r
+ this._id ? ' id="' + this._id + q : _,\r
+ this._className ? ' class="' + this._className + q : _,\r
this._attrText || ( this._attrText = X.Dom.Attr.objToAttrText( this._attrs ) ),\r
- this._cssText ? ' style="' + this._cssText + '"' : _,\r
+ this._cssText ? ' style="' + this._cssText + q : _,\r
'>' ];\r
\r
n = html.length;\r
};\r
return this;\r
};\r
- text ? this.empty().createText( text ) : this.empty();\r
+ if( !text ) return this.empty();\r
+ this.empty().createText( text );\r
return this;\r
};\r
// getter\r
return;\r
};\r
\r
-\r
X.Dom._listeners && X.Dom._listeners[ X.Dom.Event.BEFORE_UPDATE ] && X.Dom.dispatch( { type : X.Dom.Event.BEFORE_UPDATE } );\r
\r
removal = Node._reserveRemoval;\r
removal.length = 0; \r
};\r
\r
- this._commitUpdate();\r
+ Node._html._dirty ? Node._html._commitUpdate() : this._commitUpdate();\r
\r
X.Dom._listeners && X.Dom._listeners[ X.Dom.Event.AFTER_UPDATE ] && X.Dom.dispatch( { type : X.Dom.Event.AFTER_UPDATE } );\r
//this._rawNode.style.visibility = tmp;\r
};\r
// className\r
if( this._dirty & X.Dom.Dirty.CLASSNAME ){\r
- if( X.UA.IE && X.UA.IE < 7 ){\r
+ if( X.UA.IE && X.UA.IE < 8 ){\r
elm.className = this._className;\r
// ie5 only\r
if( X.Dom.State.IE5_DISPLAY_NONE_FIX && elm.currentStyle.display === 'none' ){\r
elm.style.filter = X.Dom.Style.SPECIAL_FIX( this._css );\r
delete this._dirty;\r
};\r
- this._restoreEvent();// イベントの復帰\r
+ \r
delete this._isNew;\r
} else {\r
this._dirty && this._updateRawNode( elm );\r
};\r
};\r
\r
- return this;\r
+ this._restoreEvent();// イベントの復帰\r
}) :\r
document.all ? (function(){\r
var xnodes, i;\r
xnodes[ --i ]._afterActualCreate();\r
};\r
};\r
+ // textarea への value の適用はここで\r
if( this._dirty & X.Dom.Dirty.IE_FILTER ){\r
this._ie4getRawNode().style.filter = X.Dom.Style.SPECIAL_FIX( this._css );\r
};\r
delete this._dirty;\r
- return this._restoreEvent();// イベントの復帰\r
+ this._restoreEvent();// イベントの復帰\r
}) :\r
(function(){});\r
\r
// 先頭にスペース\r
objToAttrText : function( obj ){\r
var noValue = X.Dom.Attr.noValue,\r
- attrs = [ '' ], n = 0, p;\r
+ attrs = [ '' ], n = 0, p, v;\r
for( p in obj ){\r
- attrs[ ++n ] = noValue[ p ] ? p : [ p, '="', obj[ p ], '"' ].join( '' );\r
+ v = obj[ p ];\r
+ if( p === 'value' ){\r
+ v = v.split( '"' ).join( '"' ).split( '>' ).join( '>' ).split( '<' ).join( '<' );\r
+ };\r
+ attrs[ ++n ] = noValue[ p ] ? p : [ p, '="', v, '"' ].join( '' );\r
};\r
return 0 < n ? attrs.join( ' ' ) : '';\r
}\r