| 1181 | } |
| 1182 | |
| 1183 | function 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; |