MCPcopy
hub / github.com/mongodb/node-mongodb-native / Sizzle

Function Sizzle

docs/3.7/js/jquery.js:1183–1290  ·  docs/3.7/js/jquery.js::Sizzle
( selector, context, results, seed )

Source from the content-addressed store, hash-verified

1181}
1182
1183function Sizzle( selector, context, results, seed ) {
1184 var match, elem, m, nodeType,
1185 class="cm">// QSA vars
1186 i, groups, old, nid, newContext, newSelector;
1187
1188 if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
1189 setDocument( context );
1190 }
1191
1192 context = context || document;
1193 results = results || [];
1194
1195 if ( !selector || typeof selector !== class="st">"string" ) {
1196 return results;
1197 }
1198
1199 if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {
1200 return [];
1201 }
1202
1203 if ( documentIsHTML && !seed ) {
1204
1205 class="cm">// Shortcuts
1206 if ( (match = rquickExpr.exec( selector )) ) {
1207 class="cm">// Speed-up: Sizzle(class="st">"#ID")
1208 if ( (m = match[1]) ) {
1209 if ( nodeType === 9 ) {
1210 elem = context.getElementById( m );
1211 class="cm">// Check parentNode to catch when Blackberry 4.6 returns
1212 class="cm">// nodes that are no longer in the document #6963
1213 if ( elem && elem.parentNode ) {
1214 class="cm">// Handle the case where IE, Opera, and Webkit return items
1215 class="cm">// by name instead of ID
1216 if ( elem.id === m ) {
1217 results.push( elem );
1218 return results;
1219 }
1220 } else {
1221 return results;
1222 }
1223 } else {
1224 class="cm">// Context is not a document
1225 if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
1226 contains( context, elem ) && elem.id === m ) {
1227 results.push( elem );
1228 return results;
1229 }
1230 }
1231
1232 class="cm">// Speed-up: Sizzle(class="st">"TAG")
1233 } else if ( match[2] ) {
1234 push.apply( results, context.getElementsByTagName( selector ) );
1235 return results;
1236
1237 class="cm">// Speed-up: Sizzle(class="st">".CLASS")
1238 } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) {
1239 push.apply( results, context.getElementsByClassName( m ) );
1240 return results;

Callers 2

jquery.jsFile · 0.70
multipleContextsFunction · 0.70

Calls 6

applyMethod · 0.80
testMethod · 0.80
tokenizeFunction · 0.70
toSelectorFunction · 0.70
selectFunction · 0.70
pushMethod · 0.45

Tested by

no test coverage detected