Project

General

Profile

1
define([
2
	"../core",
3
	"./var/rsingleTag",
4
	"../manipulation" // buildFragment
5
], function( jQuery, rsingleTag ) {
6

    
7
// data: string of html
8
// context (optional): If specified, the fragment will be created in this context, defaults to document
9
// keepScripts (optional): If true, will include scripts passed in the html string
10
jQuery.parseHTML = function( data, context, keepScripts ) {
11
	if ( !data || typeof data !== "string" ) {
12
		return null;
13
	}
14
	if ( typeof context === "boolean" ) {
15
		keepScripts = context;
16
		context = false;
17
	}
18
	context = context || document;
19

    
20
	var parsed = rsingleTag.exec( data ),
21
		scripts = !keepScripts && [];
22

    
23
	// Single tag
24
	if ( parsed ) {
25
		return [ context.createElement( parsed[1] ) ];
26
	}
27

    
28
	parsed = jQuery.buildFragment( [ data ], context, scripts );
29

    
30
	if ( scripts && scripts.length ) {
31
		jQuery( scripts ).remove();
32
	}
33

    
34
	return jQuery.merge( [], parsed.childNodes );
35
};
36

    
37
return jQuery.parseHTML;
38

    
39
});
(3-3/4)