corrade-nucleus-nucleons – Blame information for rev
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | // Initialize a jQuery object |
2 | define( [ |
||
3 | "../core", |
||
4 | "../var/document", |
||
5 | "./var/rsingleTag", |
||
6 | |||
7 | "../traversing/findFilter" |
||
8 | ], function( jQuery, document, rsingleTag ) { |
||
9 | |||
10 | "use strict"; |
||
11 | |||
12 | // A central reference to the root jQuery(document) |
||
13 | var rootjQuery, |
||
14 | |||
15 | // A simple way to check for HTML strings |
||
16 | // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) |
||
17 | // Strict HTML recognition (#11290: must start with <) |
||
18 | // Shortcut simple #id case for speed |
||
19 | rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,[\w\W]+> |
||
20 | |||
21 | <[\w\W]+> init = jQuery.fn.init = function( selector, context, root ) {[\w\W]+> |
||
22 | <[\w\W]+> var match, elem;[\w\W]+> |
||
23 | |||
24 | <[\w\W]+> // HANDLE: $(""), $(null), $(undefined), $(false)[\w\W]+> |
||
25 | <[\w\W]+> if ( !selector ) {[\w\W]+> |
||
26 | <[\w\W]+> return this;[\w\W]+> |
||
27 | <[\w\W]+> }[\w\W]+> |
||
28 | |||
29 | <[\w\W]+> // Method init() accepts an alternate rootjQuery[\w\W]+> |
||
30 | <[\w\W]+> // so migrate can support jQuery.sub (gh-2101)[\w\W]+> |
||
31 | <[\w\W]+> root = root || rootjQuery;[\w\W]+> |
||
32 | |||
33 | <[\w\W]+> // Handle HTML strings[\w\W]+> |
||
34 | <[\w\W]+> if ( typeof selector === "string" ) {[\w\W]+> |
||
35 | <[\w\W]+> if ( selector[ 0 ] === "<" &&[\w\W]+> |
||
36 | <[\w\W]+> selector[ selector.length - 1 ] === ">" &&[\w\W]+> |
||
37 | <[\w\W]+> selector.length >= 3 ) {[\w\W]+> |
||
38 | |||
39 | <[\w\W]+> // Assume that strings that start and end with <> are HTML and skip the regex check[\w\W]+> |
||
40 | <[\w\W]+> match = [ null, selector, null ];[\w\W]+> |
||
41 | |||
42 | <[\w\W]+> } else {[\w\W]+> |
||
43 | <[\w\W]+> match = rquickExpr.exec( selector );[\w\W]+> |
||
44 | <[\w\W]+> }[\w\W]+> |
||
45 | |||
46 | <[\w\W]+> // Match html or make sure no context is specified for #id[\w\W]+> |
||
47 | <[\w\W]+> if ( match && ( match[ 1 ] || !context ) ) {[\w\W]+> |
||
48 | |||
49 | <[\w\W]+> // HANDLE: $(html) -> $(array)[\w\W]+> |
||
50 | <[\w\W]+> if ( match[ 1 ] ) {[\w\W]+> |
||
51 | <[\w\W]+> context = context instanceof jQuery ? context[ 0 ] : context;[\w\W]+> |
||
52 | |||
53 | <[\w\W]+> // Option to run scripts is true for back-compat[\w\W]+> |
||
54 | <[\w\W]+> // Intentionally let the error be thrown if parseHTML is not present[\w\W]+> |
||
55 | <[\w\W]+> jQuery.merge( this, jQuery.parseHTML([\w\W]+> |
||
56 | <[\w\W]+> match[ 1 ],[\w\W]+> |
||
57 | <[\w\W]+> context && context.nodeType ? context.ownerDocument || context : document,[\w\W]+> |
||
58 | <[\w\W]+> true[\w\W]+> |
||
59 | <[\w\W]+> ) );[\w\W]+> |
||
60 | |||
61 | <[\w\W]+> // HANDLE: $(html, props)[\w\W]+> |
||
62 | <[\w\W]+> if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {[\w\W]+> |
||
63 | <[\w\W]+> for ( match in context ) {[\w\W]+> |
||
64 | |||
65 | <[\w\W]+> // Properties of context are called as methods if possible[\w\W]+> |
||
66 | <[\w\W]+> if ( jQuery.isFunction( this[ match ] ) ) {[\w\W]+> |
||
67 | <[\w\W]+> this[ match ]( context[ match ] );[\w\W]+> |
||
68 | |||
69 | <[\w\W]+> // ...and otherwise set as attributes[\w\W]+> |
||
70 | <[\w\W]+> } else {[\w\W]+> |
||
71 | <[\w\W]+> this.attr( match, context[ match ] );[\w\W]+> |
||
72 | <[\w\W]+> }[\w\W]+> |
||
73 | <[\w\W]+> }[\w\W]+> |
||
74 | <[\w\W]+> }[\w\W]+> |
||
75 | |||
76 | <[\w\W]+> return this;[\w\W]+> |
||
77 | |||
78 | <[\w\W]+> // HANDLE: $(#id)[\w\W]+> |
||
79 | <[\w\W]+> } else {[\w\W]+> |
||
80 | <[\w\W]+> elem = document.getElementById( match[ 2 ] );[\w\W]+> |
||
81 | |||
82 | <[\w\W]+> if ( elem ) {[\w\W]+> |
||
83 | |||
84 | <[\w\W]+> // Inject the element directly into the jQuery object[\w\W]+> |
||
85 | <[\w\W]+> this[ 0 ] = elem;[\w\W]+> |
||
86 | <[\w\W]+> this.length = 1;[\w\W]+> |
||
87 | <[\w\W]+> }[\w\W]+> |
||
88 | <[\w\W]+> return this;[\w\W]+> |
||
89 | <[\w\W]+> }[\w\W]+> |
||
90 | |||
91 | <[\w\W]+> // HANDLE: $(expr, $(...))[\w\W]+> |
||
92 | <[\w\W]+> } else if ( !context || context.jquery ) {[\w\W]+> |
||
93 | <[\w\W]+> return ( context || root ).find( selector );[\w\W]+> |
||
94 | |||
95 | <[\w\W]+> // HANDLE: $(expr, context)[\w\W]+> |
||
96 | <[\w\W]+> // (which is just equivalent to: $(context).find(expr)[\w\W]+> |
||
97 | <[\w\W]+> } else {[\w\W]+> |
||
98 | <[\w\W]+> return this.constructor( context ).find( selector );[\w\W]+> |
||
99 | <[\w\W]+> }[\w\W]+> |
||
100 | |||
101 | <[\w\W]+> // HANDLE: $(DOMElement)[\w\W]+> |
||
102 | <[\w\W]+> } else if ( selector.nodeType ) {[\w\W]+> |
||
103 | <[\w\W]+> this[ 0 ] = selector;[\w\W]+> |
||
104 | <[\w\W]+> this.length = 1;[\w\W]+> |
||
105 | <[\w\W]+> return this;[\w\W]+> |
||
106 | |||
107 | <[\w\W]+> // HANDLE: $(function)[\w\W]+> |
||
108 | <[\w\W]+> // Shortcut for document ready[\w\W]+> |
||
109 | <[\w\W]+> } else if ( jQuery.isFunction( selector ) ) {[\w\W]+> |
||
110 | <[\w\W]+> return root.ready !== undefined ?[\w\W]+> |
||
111 | <[\w\W]+> root.ready( selector ) :[\w\W]+> |
||
112 | |||
113 | <[\w\W]+> // Execute immediately if ready is not present[\w\W]+> |
||
114 | <[\w\W]+> selector( jQuery );[\w\W]+> |
||
115 | <[\w\W]+> }[\w\W]+> |
||
116 | |||
117 | <[\w\W]+> return jQuery.makeArray( selector, this );[\w\W]+> |
||
118 | <[\w\W]+> };[\w\W]+> |
||
119 | |||
120 | <[\w\W]+>// Give the init function the jQuery prototype for later instantiation[\w\W]+> |
||
121 | <[\w\W]+>init.prototype = jQuery.fn;[\w\W]+> |
||
122 | |||
123 | <[\w\W]+>// Initialize central reference[\w\W]+> |
||
124 | <[\w\W]+>rootjQuery = jQuery( document );[\w\W]+> |
||
125 | |||
126 | <[\w\W]+>return init;[\w\W]+> |
||
127 | |||
128 | <[\w\W]+>} );[\w\W]+> |