mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Build: Update Sizzle to 2.3.1
Fixes gh-3224
This commit is contained in:
parent
76c5237cc4
commit
9526557e67
119
external/sizzle/dist/sizzle.js
vendored
119
external/sizzle/dist/sizzle.js
vendored
@ -1,12 +1,12 @@
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v2.3.0
|
||||
* Sizzle CSS Selector Engine v2.3.1
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2016-01-04
|
||||
* Date: 2016-08-08
|
||||
*/
|
||||
(function( window ) {
|
||||
|
||||
@ -152,7 +152,7 @@ var i,
|
||||
|
||||
// CSS string/identifier serialization
|
||||
// https://drafts.csswg.org/cssom/#common-serializing-idioms
|
||||
rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
|
||||
rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
|
||||
fcssescape = function( ch, asCodePoint ) {
|
||||
if ( asCodePoint ) {
|
||||
|
||||
@ -465,26 +465,54 @@ function createButtonPseudo( type ) {
|
||||
* @param {Boolean} disabled true for :disabled; false for :enabled
|
||||
*/
|
||||
function createDisabledPseudo( disabled ) {
|
||||
// Known :disabled false positives:
|
||||
// IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset)
|
||||
// not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
|
||||
|
||||
// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
|
||||
return function( elem ) {
|
||||
|
||||
// Check form elements and option elements for explicit disabling
|
||||
return "label" in elem && elem.disabled === disabled ||
|
||||
"form" in elem && elem.disabled === disabled ||
|
||||
// Only certain elements can match :enabled or :disabled
|
||||
// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
|
||||
// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
|
||||
if ( "form" in elem ) {
|
||||
|
||||
// Check non-disabled form elements for fieldset[disabled] ancestors
|
||||
"form" in elem && elem.disabled === false && (
|
||||
// Support: IE6-11+
|
||||
// Ancestry is covered for us
|
||||
elem.isDisabled === disabled ||
|
||||
// Check for inherited disabledness on relevant non-disabled elements:
|
||||
// * listed form-associated elements in a disabled fieldset
|
||||
// https://html.spec.whatwg.org/multipage/forms.html#category-listed
|
||||
// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
|
||||
// * option elements in a disabled optgroup
|
||||
// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
|
||||
// All such elements have a "form" property.
|
||||
if ( elem.parentNode && elem.disabled === false ) {
|
||||
|
||||
// Otherwise, assume any non-<option> under fieldset[disabled] is disabled
|
||||
/* jshint -W018 */
|
||||
elem.isDisabled !== !disabled &&
|
||||
("label" in elem || !disabledAncestor( elem )) !== disabled
|
||||
);
|
||||
// Option elements defer to a parent optgroup if present
|
||||
if ( "label" in elem ) {
|
||||
if ( "label" in elem.parentNode ) {
|
||||
return elem.parentNode.disabled === disabled;
|
||||
} else {
|
||||
return elem.disabled === disabled;
|
||||
}
|
||||
}
|
||||
|
||||
// Support: IE 6 - 11
|
||||
// Use the isDisabled shortcut property to check for disabled fieldset ancestors
|
||||
return elem.isDisabled === disabled ||
|
||||
|
||||
// Where there is no isDisabled, check manually
|
||||
/* jshint -W018 */
|
||||
elem.isDisabled !== !disabled &&
|
||||
disabledAncestor( elem ) === disabled;
|
||||
}
|
||||
|
||||
return elem.disabled === disabled;
|
||||
|
||||
// Try to winnow out elements that can't be disabled before trusting the disabled property.
|
||||
// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
|
||||
// even exist on them, let alone have a boolean value.
|
||||
} else if ( "label" in elem ) {
|
||||
return elem.disabled === disabled;
|
||||
}
|
||||
|
||||
// Remaining elements are neither :enabled nor :disabled
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
@ -600,25 +628,21 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
return !document.getElementsByName || !document.getElementsByName( expando ).length;
|
||||
});
|
||||
|
||||
// ID find and filter
|
||||
// ID filter and find
|
||||
if ( support.getById ) {
|
||||
Expr.find["ID"] = function( id, context ) {
|
||||
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
|
||||
var m = context.getElementById( id );
|
||||
return m ? [ m ] : [];
|
||||
}
|
||||
};
|
||||
Expr.filter["ID"] = function( id ) {
|
||||
var attrId = id.replace( runescape, funescape );
|
||||
return function( elem ) {
|
||||
return elem.getAttribute("id") === attrId;
|
||||
};
|
||||
};
|
||||
Expr.find["ID"] = function( id, context ) {
|
||||
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
|
||||
var elem = context.getElementById( id );
|
||||
return elem ? [ elem ] : [];
|
||||
}
|
||||
};
|
||||
} else {
|
||||
// Support: IE6/7
|
||||
// getElementById is not reliable as a find shortcut
|
||||
delete Expr.find["ID"];
|
||||
|
||||
Expr.filter["ID"] = function( id ) {
|
||||
var attrId = id.replace( runescape, funescape );
|
||||
return function( elem ) {
|
||||
@ -627,6 +651,36 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
return node && node.value === attrId;
|
||||
};
|
||||
};
|
||||
|
||||
// Support: IE 6 - 7 only
|
||||
// getElementById is not reliable as a find shortcut
|
||||
Expr.find["ID"] = function( id, context ) {
|
||||
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
|
||||
var node, i, elems,
|
||||
elem = context.getElementById( id );
|
||||
|
||||
if ( elem ) {
|
||||
|
||||
// Verify the id attribute
|
||||
node = elem.getAttributeNode("id");
|
||||
if ( node && node.value === id ) {
|
||||
return [ elem ];
|
||||
}
|
||||
|
||||
// Fall back on getElementsByName
|
||||
elems = context.getElementsByName( id );
|
||||
i = 0;
|
||||
while ( (elem = elems[i++]) ) {
|
||||
node = elem.getAttributeNode("id");
|
||||
if ( node && node.value === id ) {
|
||||
return [ elem ];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Tag
|
||||
@ -1667,6 +1721,7 @@ function addCombinator( matcher, combinator, base ) {
|
||||
return matcher( elem, context, xml );
|
||||
}
|
||||
}
|
||||
return false;
|
||||
} :
|
||||
|
||||
// Check against all ancestor/preceding elements
|
||||
@ -1711,6 +1766,7 @@ function addCombinator( matcher, combinator, base ) {
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
@ -2073,8 +2129,7 @@ select = Sizzle.select = function( selector, context, results, seed ) {
|
||||
// Reduce context if the leading compound selector is an ID
|
||||
tokens = match[0] = match[0].slice( 0 );
|
||||
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
|
||||
support.getById && context.nodeType === 9 && documentIsHTML &&
|
||||
Expr.relative[ tokens[1].type ] ) {
|
||||
context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
|
||||
|
||||
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
|
||||
if ( !context ) {
|
||||
|
4
external/sizzle/dist/sizzle.min.js
vendored
4
external/sizzle/dist/sizzle.min.js
vendored
File diff suppressed because one or more lines are too long
2
external/sizzle/dist/sizzle.min.map
vendored
2
external/sizzle/dist/sizzle.min.map
vendored
File diff suppressed because one or more lines are too long
@ -53,7 +53,7 @@
|
||||
"qunitjs": "1.23.1",
|
||||
"requirejs": "2.2.0",
|
||||
"sinon": "1.17.3",
|
||||
"sizzle": "2.3.0",
|
||||
"sizzle": "2.3.1",
|
||||
"strip-json-comments": "2.0.1",
|
||||
"testswarm": "1.1.0"
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user