Edit File by line
/home/barbar84/www/wp-inclu.../js/jquery
File: jquery.js
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
[2000] Fix | Delete
diff = nodeIndex;
[2001] Fix | Delete
}
[2002] Fix | Delete
[2003] Fix | Delete
// xml :nth-child(...)
[2004] Fix | Delete
// or :nth-last-child(...) or :nth(-last)?-of-type(...)
[2005] Fix | Delete
if ( diff === false ) {
[2006] Fix | Delete
[2007] Fix | Delete
// Use the same loop as above to seek `elem` from the start
[2008] Fix | Delete
while ( ( node = ++nodeIndex && node && node[ dir ] ||
[2009] Fix | Delete
( diff = nodeIndex = 0 ) || start.pop() ) ) {
[2010] Fix | Delete
[2011] Fix | Delete
if ( ( ofType ?
[2012] Fix | Delete
node.nodeName.toLowerCase() === name :
[2013] Fix | Delete
node.nodeType === 1 ) &&
[2014] Fix | Delete
++diff ) {
[2015] Fix | Delete
[2016] Fix | Delete
// Cache the index of each encountered element
[2017] Fix | Delete
if ( useCache ) {
[2018] Fix | Delete
outerCache = node[ expando ] ||
[2019] Fix | Delete
( node[ expando ] = {} );
[2020] Fix | Delete
[2021] Fix | Delete
// Support: IE <9 only
[2022] Fix | Delete
// Defend against cloned attroperties (jQuery gh-1709)
[2023] Fix | Delete
uniqueCache = outerCache[ node.uniqueID ] ||
[2024] Fix | Delete
( outerCache[ node.uniqueID ] = {} );
[2025] Fix | Delete
[2026] Fix | Delete
uniqueCache[ type ] = [ dirruns, diff ];
[2027] Fix | Delete
}
[2028] Fix | Delete
[2029] Fix | Delete
if ( node === elem ) {
[2030] Fix | Delete
break;
[2031] Fix | Delete
}
[2032] Fix | Delete
}
[2033] Fix | Delete
}
[2034] Fix | Delete
}
[2035] Fix | Delete
}
[2036] Fix | Delete
[2037] Fix | Delete
// Incorporate the offset, then check against cycle size
[2038] Fix | Delete
diff -= last;
[2039] Fix | Delete
return diff === first || ( diff % first === 0 && diff / first >= 0 );
[2040] Fix | Delete
}
[2041] Fix | Delete
};
[2042] Fix | Delete
},
[2043] Fix | Delete
[2044] Fix | Delete
"PSEUDO": function( pseudo, argument ) {
[2045] Fix | Delete
[2046] Fix | Delete
// pseudo-class names are case-insensitive
[2047] Fix | Delete
// http://www.w3.org/TR/selectors/#pseudo-classes
[2048] Fix | Delete
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
[2049] Fix | Delete
// Remember that setFilters inherits from pseudos
[2050] Fix | Delete
var args,
[2051] Fix | Delete
fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
[2052] Fix | Delete
Sizzle.error( "unsupported pseudo: " + pseudo );
[2053] Fix | Delete
[2054] Fix | Delete
// The user may use createPseudo to indicate that
[2055] Fix | Delete
// arguments are needed to create the filter function
[2056] Fix | Delete
// just as Sizzle does
[2057] Fix | Delete
if ( fn[ expando ] ) {
[2058] Fix | Delete
return fn( argument );
[2059] Fix | Delete
}
[2060] Fix | Delete
[2061] Fix | Delete
// But maintain support for old signatures
[2062] Fix | Delete
if ( fn.length > 1 ) {
[2063] Fix | Delete
args = [ pseudo, pseudo, "", argument ];
[2064] Fix | Delete
return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
[2065] Fix | Delete
markFunction( function( seed, matches ) {
[2066] Fix | Delete
var idx,
[2067] Fix | Delete
matched = fn( seed, argument ),
[2068] Fix | Delete
i = matched.length;
[2069] Fix | Delete
while ( i-- ) {
[2070] Fix | Delete
idx = indexOf( seed, matched[ i ] );
[2071] Fix | Delete
seed[ idx ] = !( matches[ idx ] = matched[ i ] );
[2072] Fix | Delete
}
[2073] Fix | Delete
} ) :
[2074] Fix | Delete
function( elem ) {
[2075] Fix | Delete
return fn( elem, 0, args );
[2076] Fix | Delete
};
[2077] Fix | Delete
}
[2078] Fix | Delete
[2079] Fix | Delete
return fn;
[2080] Fix | Delete
}
[2081] Fix | Delete
},
[2082] Fix | Delete
[2083] Fix | Delete
pseudos: {
[2084] Fix | Delete
[2085] Fix | Delete
// Potentially complex pseudos
[2086] Fix | Delete
"not": markFunction( function( selector ) {
[2087] Fix | Delete
[2088] Fix | Delete
// Trim the selector passed to compile
[2089] Fix | Delete
// to avoid treating leading and trailing
[2090] Fix | Delete
// spaces as combinators
[2091] Fix | Delete
var input = [],
[2092] Fix | Delete
results = [],
[2093] Fix | Delete
matcher = compile( selector.replace( rtrim, "$1" ) );
[2094] Fix | Delete
[2095] Fix | Delete
return matcher[ expando ] ?
[2096] Fix | Delete
markFunction( function( seed, matches, _context, xml ) {
[2097] Fix | Delete
var elem,
[2098] Fix | Delete
unmatched = matcher( seed, null, xml, [] ),
[2099] Fix | Delete
i = seed.length;
[2100] Fix | Delete
[2101] Fix | Delete
// Match elements unmatched by `matcher`
[2102] Fix | Delete
while ( i-- ) {
[2103] Fix | Delete
if ( ( elem = unmatched[ i ] ) ) {
[2104] Fix | Delete
seed[ i ] = !( matches[ i ] = elem );
[2105] Fix | Delete
}
[2106] Fix | Delete
}
[2107] Fix | Delete
} ) :
[2108] Fix | Delete
function( elem, _context, xml ) {
[2109] Fix | Delete
input[ 0 ] = elem;
[2110] Fix | Delete
matcher( input, null, xml, results );
[2111] Fix | Delete
[2112] Fix | Delete
// Don't keep the element (issue #299)
[2113] Fix | Delete
input[ 0 ] = null;
[2114] Fix | Delete
return !results.pop();
[2115] Fix | Delete
};
[2116] Fix | Delete
} ),
[2117] Fix | Delete
[2118] Fix | Delete
"has": markFunction( function( selector ) {
[2119] Fix | Delete
return function( elem ) {
[2120] Fix | Delete
return Sizzle( selector, elem ).length > 0;
[2121] Fix | Delete
};
[2122] Fix | Delete
} ),
[2123] Fix | Delete
[2124] Fix | Delete
"contains": markFunction( function( text ) {
[2125] Fix | Delete
text = text.replace( runescape, funescape );
[2126] Fix | Delete
return function( elem ) {
[2127] Fix | Delete
return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
[2128] Fix | Delete
};
[2129] Fix | Delete
} ),
[2130] Fix | Delete
[2131] Fix | Delete
// "Whether an element is represented by a :lang() selector
[2132] Fix | Delete
// is based solely on the element's language value
[2133] Fix | Delete
// being equal to the identifier C,
[2134] Fix | Delete
// or beginning with the identifier C immediately followed by "-".
[2135] Fix | Delete
// The matching of C against the element's language value is performed case-insensitively.
[2136] Fix | Delete
// The identifier C does not have to be a valid language name."
[2137] Fix | Delete
// http://www.w3.org/TR/selectors/#lang-pseudo
[2138] Fix | Delete
"lang": markFunction( function( lang ) {
[2139] Fix | Delete
[2140] Fix | Delete
// lang value must be a valid identifier
[2141] Fix | Delete
if ( !ridentifier.test( lang || "" ) ) {
[2142] Fix | Delete
Sizzle.error( "unsupported lang: " + lang );
[2143] Fix | Delete
}
[2144] Fix | Delete
lang = lang.replace( runescape, funescape ).toLowerCase();
[2145] Fix | Delete
return function( elem ) {
[2146] Fix | Delete
var elemLang;
[2147] Fix | Delete
do {
[2148] Fix | Delete
if ( ( elemLang = documentIsHTML ?
[2149] Fix | Delete
elem.lang :
[2150] Fix | Delete
elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
[2151] Fix | Delete
[2152] Fix | Delete
elemLang = elemLang.toLowerCase();
[2153] Fix | Delete
return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
[2154] Fix | Delete
}
[2155] Fix | Delete
} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
[2156] Fix | Delete
return false;
[2157] Fix | Delete
};
[2158] Fix | Delete
} ),
[2159] Fix | Delete
[2160] Fix | Delete
// Miscellaneous
[2161] Fix | Delete
"target": function( elem ) {
[2162] Fix | Delete
var hash = window.location && window.location.hash;
[2163] Fix | Delete
return hash && hash.slice( 1 ) === elem.id;
[2164] Fix | Delete
},
[2165] Fix | Delete
[2166] Fix | Delete
"root": function( elem ) {
[2167] Fix | Delete
return elem === docElem;
[2168] Fix | Delete
},
[2169] Fix | Delete
[2170] Fix | Delete
"focus": function( elem ) {
[2171] Fix | Delete
return elem === document.activeElement &&
[2172] Fix | Delete
( !document.hasFocus || document.hasFocus() ) &&
[2173] Fix | Delete
!!( elem.type || elem.href || ~elem.tabIndex );
[2174] Fix | Delete
},
[2175] Fix | Delete
[2176] Fix | Delete
// Boolean properties
[2177] Fix | Delete
"enabled": createDisabledPseudo( false ),
[2178] Fix | Delete
"disabled": createDisabledPseudo( true ),
[2179] Fix | Delete
[2180] Fix | Delete
"checked": function( elem ) {
[2181] Fix | Delete
[2182] Fix | Delete
// In CSS3, :checked should return both checked and selected elements
[2183] Fix | Delete
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
[2184] Fix | Delete
var nodeName = elem.nodeName.toLowerCase();
[2185] Fix | Delete
return ( nodeName === "input" && !!elem.checked ) ||
[2186] Fix | Delete
( nodeName === "option" && !!elem.selected );
[2187] Fix | Delete
},
[2188] Fix | Delete
[2189] Fix | Delete
"selected": function( elem ) {
[2190] Fix | Delete
[2191] Fix | Delete
// Accessing this property makes selected-by-default
[2192] Fix | Delete
// options in Safari work properly
[2193] Fix | Delete
if ( elem.parentNode ) {
[2194] Fix | Delete
// eslint-disable-next-line no-unused-expressions
[2195] Fix | Delete
elem.parentNode.selectedIndex;
[2196] Fix | Delete
}
[2197] Fix | Delete
[2198] Fix | Delete
return elem.selected === true;
[2199] Fix | Delete
},
[2200] Fix | Delete
[2201] Fix | Delete
// Contents
[2202] Fix | Delete
"empty": function( elem ) {
[2203] Fix | Delete
[2204] Fix | Delete
// http://www.w3.org/TR/selectors/#empty-pseudo
[2205] Fix | Delete
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
[2206] Fix | Delete
// but not by others (comment: 8; processing instruction: 7; etc.)
[2207] Fix | Delete
// nodeType < 6 works because attributes (2) do not appear as children
[2208] Fix | Delete
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
[2209] Fix | Delete
if ( elem.nodeType < 6 ) {
[2210] Fix | Delete
return false;
[2211] Fix | Delete
}
[2212] Fix | Delete
}
[2213] Fix | Delete
return true;
[2214] Fix | Delete
},
[2215] Fix | Delete
[2216] Fix | Delete
"parent": function( elem ) {
[2217] Fix | Delete
return !Expr.pseudos[ "empty" ]( elem );
[2218] Fix | Delete
},
[2219] Fix | Delete
[2220] Fix | Delete
// Element/input types
[2221] Fix | Delete
"header": function( elem ) {
[2222] Fix | Delete
return rheader.test( elem.nodeName );
[2223] Fix | Delete
},
[2224] Fix | Delete
[2225] Fix | Delete
"input": function( elem ) {
[2226] Fix | Delete
return rinputs.test( elem.nodeName );
[2227] Fix | Delete
},
[2228] Fix | Delete
[2229] Fix | Delete
"button": function( elem ) {
[2230] Fix | Delete
var name = elem.nodeName.toLowerCase();
[2231] Fix | Delete
return name === "input" && elem.type === "button" || name === "button";
[2232] Fix | Delete
},
[2233] Fix | Delete
[2234] Fix | Delete
"text": function( elem ) {
[2235] Fix | Delete
var attr;
[2236] Fix | Delete
return elem.nodeName.toLowerCase() === "input" &&
[2237] Fix | Delete
elem.type === "text" &&
[2238] Fix | Delete
[2239] Fix | Delete
// Support: IE<8
[2240] Fix | Delete
// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
[2241] Fix | Delete
( ( attr = elem.getAttribute( "type" ) ) == null ||
[2242] Fix | Delete
attr.toLowerCase() === "text" );
[2243] Fix | Delete
},
[2244] Fix | Delete
[2245] Fix | Delete
// Position-in-collection
[2246] Fix | Delete
"first": createPositionalPseudo( function() {
[2247] Fix | Delete
return [ 0 ];
[2248] Fix | Delete
} ),
[2249] Fix | Delete
[2250] Fix | Delete
"last": createPositionalPseudo( function( _matchIndexes, length ) {
[2251] Fix | Delete
return [ length - 1 ];
[2252] Fix | Delete
} ),
[2253] Fix | Delete
[2254] Fix | Delete
"eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
[2255] Fix | Delete
return [ argument < 0 ? argument + length : argument ];
[2256] Fix | Delete
} ),
[2257] Fix | Delete
[2258] Fix | Delete
"even": createPositionalPseudo( function( matchIndexes, length ) {
[2259] Fix | Delete
var i = 0;
[2260] Fix | Delete
for ( ; i < length; i += 2 ) {
[2261] Fix | Delete
matchIndexes.push( i );
[2262] Fix | Delete
}
[2263] Fix | Delete
return matchIndexes;
[2264] Fix | Delete
} ),
[2265] Fix | Delete
[2266] Fix | Delete
"odd": createPositionalPseudo( function( matchIndexes, length ) {
[2267] Fix | Delete
var i = 1;
[2268] Fix | Delete
for ( ; i < length; i += 2 ) {
[2269] Fix | Delete
matchIndexes.push( i );
[2270] Fix | Delete
}
[2271] Fix | Delete
return matchIndexes;
[2272] Fix | Delete
} ),
[2273] Fix | Delete
[2274] Fix | Delete
"lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
[2275] Fix | Delete
var i = argument < 0 ?
[2276] Fix | Delete
argument + length :
[2277] Fix | Delete
argument > length ?
[2278] Fix | Delete
length :
[2279] Fix | Delete
argument;
[2280] Fix | Delete
for ( ; --i >= 0; ) {
[2281] Fix | Delete
matchIndexes.push( i );
[2282] Fix | Delete
}
[2283] Fix | Delete
return matchIndexes;
[2284] Fix | Delete
} ),
[2285] Fix | Delete
[2286] Fix | Delete
"gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
[2287] Fix | Delete
var i = argument < 0 ? argument + length : argument;
[2288] Fix | Delete
for ( ; ++i < length; ) {
[2289] Fix | Delete
matchIndexes.push( i );
[2290] Fix | Delete
}
[2291] Fix | Delete
return matchIndexes;
[2292] Fix | Delete
} )
[2293] Fix | Delete
}
[2294] Fix | Delete
};
[2295] Fix | Delete
[2296] Fix | Delete
Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
[2297] Fix | Delete
[2298] Fix | Delete
// Add button/input type pseudos
[2299] Fix | Delete
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
[2300] Fix | Delete
Expr.pseudos[ i ] = createInputPseudo( i );
[2301] Fix | Delete
}
[2302] Fix | Delete
for ( i in { submit: true, reset: true } ) {
[2303] Fix | Delete
Expr.pseudos[ i ] = createButtonPseudo( i );
[2304] Fix | Delete
}
[2305] Fix | Delete
[2306] Fix | Delete
// Easy API for creating new setFilters
[2307] Fix | Delete
function setFilters() {}
[2308] Fix | Delete
setFilters.prototype = Expr.filters = Expr.pseudos;
[2309] Fix | Delete
Expr.setFilters = new setFilters();
[2310] Fix | Delete
[2311] Fix | Delete
tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
[2312] Fix | Delete
var matched, match, tokens, type,
[2313] Fix | Delete
soFar, groups, preFilters,
[2314] Fix | Delete
cached = tokenCache[ selector + " " ];
[2315] Fix | Delete
[2316] Fix | Delete
if ( cached ) {
[2317] Fix | Delete
return parseOnly ? 0 : cached.slice( 0 );
[2318] Fix | Delete
}
[2319] Fix | Delete
[2320] Fix | Delete
soFar = selector;
[2321] Fix | Delete
groups = [];
[2322] Fix | Delete
preFilters = Expr.preFilter;
[2323] Fix | Delete
[2324] Fix | Delete
while ( soFar ) {
[2325] Fix | Delete
[2326] Fix | Delete
// Comma and first run
[2327] Fix | Delete
if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
[2328] Fix | Delete
if ( match ) {
[2329] Fix | Delete
[2330] Fix | Delete
// Don't consume trailing commas as valid
[2331] Fix | Delete
soFar = soFar.slice( match[ 0 ].length ) || soFar;
[2332] Fix | Delete
}
[2333] Fix | Delete
groups.push( ( tokens = [] ) );
[2334] Fix | Delete
}
[2335] Fix | Delete
[2336] Fix | Delete
matched = false;
[2337] Fix | Delete
[2338] Fix | Delete
// Combinators
[2339] Fix | Delete
if ( ( match = rcombinators.exec( soFar ) ) ) {
[2340] Fix | Delete
matched = match.shift();
[2341] Fix | Delete
tokens.push( {
[2342] Fix | Delete
value: matched,
[2343] Fix | Delete
[2344] Fix | Delete
// Cast descendant combinators to space
[2345] Fix | Delete
type: match[ 0 ].replace( rtrim, " " )
[2346] Fix | Delete
} );
[2347] Fix | Delete
soFar = soFar.slice( matched.length );
[2348] Fix | Delete
}
[2349] Fix | Delete
[2350] Fix | Delete
// Filters
[2351] Fix | Delete
for ( type in Expr.filter ) {
[2352] Fix | Delete
if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
[2353] Fix | Delete
( match = preFilters[ type ]( match ) ) ) ) {
[2354] Fix | Delete
matched = match.shift();
[2355] Fix | Delete
tokens.push( {
[2356] Fix | Delete
value: matched,
[2357] Fix | Delete
type: type,
[2358] Fix | Delete
matches: match
[2359] Fix | Delete
} );
[2360] Fix | Delete
soFar = soFar.slice( matched.length );
[2361] Fix | Delete
}
[2362] Fix | Delete
}
[2363] Fix | Delete
[2364] Fix | Delete
if ( !matched ) {
[2365] Fix | Delete
break;
[2366] Fix | Delete
}
[2367] Fix | Delete
}
[2368] Fix | Delete
[2369] Fix | Delete
// Return the length of the invalid excess
[2370] Fix | Delete
// if we're just parsing
[2371] Fix | Delete
// Otherwise, throw an error or return tokens
[2372] Fix | Delete
return parseOnly ?
[2373] Fix | Delete
soFar.length :
[2374] Fix | Delete
soFar ?
[2375] Fix | Delete
Sizzle.error( selector ) :
[2376] Fix | Delete
[2377] Fix | Delete
// Cache the tokens
[2378] Fix | Delete
tokenCache( selector, groups ).slice( 0 );
[2379] Fix | Delete
};
[2380] Fix | Delete
[2381] Fix | Delete
function toSelector( tokens ) {
[2382] Fix | Delete
var i = 0,
[2383] Fix | Delete
len = tokens.length,
[2384] Fix | Delete
selector = "";
[2385] Fix | Delete
for ( ; i < len; i++ ) {
[2386] Fix | Delete
selector += tokens[ i ].value;
[2387] Fix | Delete
}
[2388] Fix | Delete
return selector;
[2389] Fix | Delete
}
[2390] Fix | Delete
[2391] Fix | Delete
function addCombinator( matcher, combinator, base ) {
[2392] Fix | Delete
var dir = combinator.dir,
[2393] Fix | Delete
skip = combinator.next,
[2394] Fix | Delete
key = skip || dir,
[2395] Fix | Delete
checkNonElements = base && key === "parentNode",
[2396] Fix | Delete
doneName = done++;
[2397] Fix | Delete
[2398] Fix | Delete
return combinator.first ?
[2399] Fix | Delete
[2400] Fix | Delete
// Check against closest ancestor/preceding element
[2401] Fix | Delete
function( elem, context, xml ) {
[2402] Fix | Delete
while ( ( elem = elem[ dir ] ) ) {
[2403] Fix | Delete
if ( elem.nodeType === 1 || checkNonElements ) {
[2404] Fix | Delete
return matcher( elem, context, xml );
[2405] Fix | Delete
}
[2406] Fix | Delete
}
[2407] Fix | Delete
return false;
[2408] Fix | Delete
} :
[2409] Fix | Delete
[2410] Fix | Delete
// Check against all ancestor/preceding elements
[2411] Fix | Delete
function( elem, context, xml ) {
[2412] Fix | Delete
var oldCache, uniqueCache, outerCache,
[2413] Fix | Delete
newCache = [ dirruns, doneName ];
[2414] Fix | Delete
[2415] Fix | Delete
// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
[2416] Fix | Delete
if ( xml ) {
[2417] Fix | Delete
while ( ( elem = elem[ dir ] ) ) {
[2418] Fix | Delete
if ( elem.nodeType === 1 || checkNonElements ) {
[2419] Fix | Delete
if ( matcher( elem, context, xml ) ) {
[2420] Fix | Delete
return true;
[2421] Fix | Delete
}
[2422] Fix | Delete
}
[2423] Fix | Delete
}
[2424] Fix | Delete
} else {
[2425] Fix | Delete
while ( ( elem = elem[ dir ] ) ) {
[2426] Fix | Delete
if ( elem.nodeType === 1 || checkNonElements ) {
[2427] Fix | Delete
outerCache = elem[ expando ] || ( elem[ expando ] = {} );
[2428] Fix | Delete
[2429] Fix | Delete
// Support: IE <9 only
[2430] Fix | Delete
// Defend against cloned attroperties (jQuery gh-1709)
[2431] Fix | Delete
uniqueCache = outerCache[ elem.uniqueID ] ||
[2432] Fix | Delete
( outerCache[ elem.uniqueID ] = {} );
[2433] Fix | Delete
[2434] Fix | Delete
if ( skip && skip === elem.nodeName.toLowerCase() ) {
[2435] Fix | Delete
elem = elem[ dir ] || elem;
[2436] Fix | Delete
} else if ( ( oldCache = uniqueCache[ key ] ) &&
[2437] Fix | Delete
oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
[2438] Fix | Delete
[2439] Fix | Delete
// Assign to newCache so results back-propagate to previous elements
[2440] Fix | Delete
return ( newCache[ 2 ] = oldCache[ 2 ] );
[2441] Fix | Delete
} else {
[2442] Fix | Delete
[2443] Fix | Delete
// Reuse newcache so results back-propagate to previous elements
[2444] Fix | Delete
uniqueCache[ key ] = newCache;
[2445] Fix | Delete
[2446] Fix | Delete
// A match means we're done; a fail means we have to keep checking
[2447] Fix | Delete
if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
[2448] Fix | Delete
return true;
[2449] Fix | Delete
}
[2450] Fix | Delete
}
[2451] Fix | Delete
}
[2452] Fix | Delete
}
[2453] Fix | Delete
}
[2454] Fix | Delete
return false;
[2455] Fix | Delete
};
[2456] Fix | Delete
}
[2457] Fix | Delete
[2458] Fix | Delete
function elementMatcher( matchers ) {
[2459] Fix | Delete
return matchers.length > 1 ?
[2460] Fix | Delete
function( elem, context, xml ) {
[2461] Fix | Delete
var i = matchers.length;
[2462] Fix | Delete
while ( i-- ) {
[2463] Fix | Delete
if ( !matchers[ i ]( elem, context, xml ) ) {
[2464] Fix | Delete
return false;
[2465] Fix | Delete
}
[2466] Fix | Delete
}
[2467] Fix | Delete
return true;
[2468] Fix | Delete
} :
[2469] Fix | Delete
matchers[ 0 ];
[2470] Fix | Delete
}
[2471] Fix | Delete
[2472] Fix | Delete
function multipleContexts( selector, contexts, results ) {
[2473] Fix | Delete
var i = 0,
[2474] Fix | Delete
len = contexts.length;
[2475] Fix | Delete
for ( ; i < len; i++ ) {
[2476] Fix | Delete
Sizzle( selector, contexts[ i ], results );
[2477] Fix | Delete
}
[2478] Fix | Delete
return results;
[2479] Fix | Delete
}
[2480] Fix | Delete
[2481] Fix | Delete
function condense( unmatched, map, filter, context, xml ) {
[2482] Fix | Delete
var elem,
[2483] Fix | Delete
newUnmatched = [],
[2484] Fix | Delete
i = 0,
[2485] Fix | Delete
len = unmatched.length,
[2486] Fix | Delete
mapped = map != null;
[2487] Fix | Delete
[2488] Fix | Delete
for ( ; i < len; i++ ) {
[2489] Fix | Delete
if ( ( elem = unmatched[ i ] ) ) {
[2490] Fix | Delete
if ( !filter || filter( elem, context, xml ) ) {
[2491] Fix | Delete
newUnmatched.push( elem );
[2492] Fix | Delete
if ( mapped ) {
[2493] Fix | Delete
map.push( i );
[2494] Fix | Delete
}
[2495] Fix | Delete
}
[2496] Fix | Delete
}
[2497] Fix | Delete
}
[2498] Fix | Delete
[2499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function