| @@ 5067-5109 (lines=43) @@ | ||
| 5064 | i = 0, |
|
| 5065 | l = elems.length; |
|
| 5066 | ||
| 5067 | for ( ; i < l; i++ ) { |
|
| 5068 | elem = elems[ i ]; |
|
| 5069 | ||
| 5070 | if ( elem || elem === 0 ) { |
|
| 5071 | ||
| 5072 | // Add nodes directly |
|
| 5073 | if ( jQuery.type( elem ) === "object" ) { |
|
| 5074 | // Support: QtWebKit |
|
| 5075 | // jQuery.merge because push.apply(_, arraylike) throws |
|
| 5076 | jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); |
|
| 5077 | ||
| 5078 | // Convert non-html into a text node |
|
| 5079 | } else if ( !rhtml.test( elem ) ) { |
|
| 5080 | nodes.push( context.createTextNode( elem ) ); |
|
| 5081 | ||
| 5082 | // Convert html into DOM nodes |
|
| 5083 | } else { |
|
| 5084 | tmp = tmp || fragment.appendChild( context.createElement("div") ); |
|
| 5085 | ||
| 5086 | // Deserialize a standard representation |
|
| 5087 | tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); |
|
| 5088 | wrap = wrapMap[ tag ] || wrapMap._default; |
|
| 5089 | tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ]; |
|
| 5090 | ||
| 5091 | // Descend through wrappers to the right content |
|
| 5092 | j = wrap[ 0 ]; |
|
| 5093 | while ( j-- ) { |
|
| 5094 | tmp = tmp.lastChild; |
|
| 5095 | } |
|
| 5096 | ||
| 5097 | // Support: QtWebKit |
|
| 5098 | // jQuery.merge because push.apply(_, arraylike) throws |
|
| 5099 | jQuery.merge( nodes, tmp.childNodes ); |
|
| 5100 | ||
| 5101 | // Remember the top-level container |
|
| 5102 | tmp = fragment.firstChild; |
|
| 5103 | ||
| 5104 | // Fixes #12346 |
|
| 5105 | // Support: Webkit, IE |
|
| 5106 | tmp.textContent = ""; |
|
| 5107 | } |
|
| 5108 | } |
|
| 5109 | } |
|
| 5110 | ||
| 5111 | // Remove wrapper from fragment |
|
| 5112 | fragment.textContent = ""; |
|
| @@ 4311-4353 (lines=43) @@ | ||
| 4308 | i = 0, |
|
| 4309 | l = elems.length; |
|
| 4310 | ||
| 4311 | for ( ; i < l; i++ ) { |
|
| 4312 | elem = elems[ i ]; |
|
| 4313 | ||
| 4314 | if ( elem || elem === 0 ) { |
|
| 4315 | ||
| 4316 | // Add nodes directly |
|
| 4317 | if ( jQuery.type( elem ) === "object" ) { |
|
| 4318 | ||
| 4319 | // Support: Android<4.1, PhantomJS<2 |
|
| 4320 | // push.apply(_, arraylike) throws on ancient WebKit |
|
| 4321 | jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); |
|
| 4322 | ||
| 4323 | // Convert non-html into a text node |
|
| 4324 | } else if ( !rhtml.test( elem ) ) { |
|
| 4325 | nodes.push( context.createTextNode( elem ) ); |
|
| 4326 | ||
| 4327 | // Convert html into DOM nodes |
|
| 4328 | } else { |
|
| 4329 | tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); |
|
| 4330 | ||
| 4331 | // Deserialize a standard representation |
|
| 4332 | tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); |
|
| 4333 | wrap = wrapMap[ tag ] || wrapMap._default; |
|
| 4334 | tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; |
|
| 4335 | ||
| 4336 | // Descend through wrappers to the right content |
|
| 4337 | j = wrap[ 0 ]; |
|
| 4338 | while ( j-- ) { |
|
| 4339 | tmp = tmp.lastChild; |
|
| 4340 | } |
|
| 4341 | ||
| 4342 | // Support: Android<4.1, PhantomJS<2 |
|
| 4343 | // push.apply(_, arraylike) throws on ancient WebKit |
|
| 4344 | jQuery.merge( nodes, tmp.childNodes ); |
|
| 4345 | ||
| 4346 | // Remember the top-level container |
|
| 4347 | tmp = fragment.firstChild; |
|
| 4348 | ||
| 4349 | // Ensure the created nodes are orphaned (#12392) |
|
| 4350 | tmp.textContent = ""; |
|
| 4351 | } |
|
| 4352 | } |
|
| 4353 | } |
|
| 4354 | ||
| 4355 | // Remove wrapper from fragment |
|
| 4356 | fragment.textContent = ""; |
|