zhaojs
2023-07-13 5e2689b5628a77969b3d6fd9321108e61866382f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
define( [
    "../core",
    "../var/document",
    "./var/rsingleTag",
    "../manipulation/buildFragment"
], function( jQuery, document, rsingleTag, buildFragment ) {
 
// Argument "data" should be string of html
// context (optional): If specified, the fragment will be created in this context,
// defaults to document
// keepScripts (optional): If true, will include scripts passed in the html string
jQuery.parseHTML = function( data, context, keepScripts ) {
    if ( !data || typeof data !== "string" ) {
        return null;
    }
    if ( typeof context === "boolean" ) {
        keepScripts = context;
        context = false;
    }
    context = context || document;
 
    var parsed = rsingleTag.exec( data ),
        scripts = !keepScripts && [];
 
    // Single tag
    if ( parsed ) {
        return [ context.createElement( parsed[ 1 ] ) ];
    }
 
    parsed = buildFragment( [ data ], context, scripts );
 
    if ( scripts && scripts.length ) {
        jQuery( scripts ).remove();
    }
 
    return jQuery.merge( [], parsed.childNodes );
};
 
return jQuery.parseHTML;
 
} );