l = html.length,\r
i = 0,\r
attrs = [],\r
- tagName, empty,\r
+ tagName, empty = false,\r
chr, start, attrName, quot, escape;\r
\r
while( i < l && phase < 9 ){\r
( ( phase = 3 ) && saveAttr( attrs, attrName, html.substring( start, i ) ) ) :\r
( chr === '>' ) ?\r
( ( phase = 9 ) && saveAttr( attrs, attrName, html.substring( start, i ) ) ) :\r
- ( !escape && uri.indexOf( attrName ) === -1 && html.substr( i, 2 ) === '\/>' ) && // attr の val が uri で / で終わりかつ、未対応属性の場合\r
- ( empty = true );\r
+ !escape && !uri[ attrName ] && ( empty = html.substr( i, 2 ) === '/>' ) && // attr の val が uri で / で終わりかつ、未対応属性の場合\r
+ ( phase = 9 );\r
break;\r
};\r
escape = chr === '\\' && !escape; // \\\\ is not escape for "\r
++i;\r
};\r
if( phase === 9 ){\r
+ if( empty ) ++i;\r
if( X.Dom.Parser.parseStartTag( stack, last, handler, tagName, attrs, empty, i ) === false ) return false;\r
return i;\r
};\r
};\r
};\r
X.Dom.Parser.closeSelf[ tagLower ] === 1 && ( last === tagName || ( sisters[ tagLower ] && sisters[ tagLower ][ last.toLowerCase() ] === 1 ) ) && parseEndTag( stack, handler, last );\r
- unary = X.Dom.Parser.empty[ tagName.toUpperCase() ] || !!unary;\r
+ unary = unary || X.Dom.Parser.empty[ tagName.toUpperCase() ];\r
!unary && ( stack[ stack.length ] = tagName );\r
\r
return handler.start( tagName, attrs, unary, index );\r