Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jquery
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
夏彬
jquery
Commits
825ac377
Commit
825ac377
authored
Sep 10, 2013
by
Timmy Willison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Separate jQuery.fn.init into its own module (for lighter core dependencies across all modules)
parent
d788010a
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
250 additions
and
213 deletions
+250
-213
ajax.js
src/ajax.js
+1
-0
classes.js
src/attributes/classes.js
+2
-1
val.js
src/attributes/val.js
+2
-1
core.js
src/core.js
+2
-115
init.js
src/core/init.js
+123
-0
parseHTML.js
src/core/parseHTML.js
+1
-1
ready.js
src/core/ready.js
+1
-0
rsingleTag.js
src/core/var/rsingleTag.js
+0
-0
css.js
src/css.js
+1
-0
effects.js
src/effects.js
+1
-0
event.js
src/event.js
+1
-0
manipulation.js
src/manipulation.js
+1
-0
offset.js
src/offset.js
+1
-0
serialize.js
src/serialize.js
+1
-0
traversing.js
src/traversing.js
+5
-95
findFilter.js
src/traversing/findFilter.js
+100
-0
rneedsContext.js
src/traversing/var/rneedsContext.js
+6
-0
wrap.js
src/wrap.js
+1
-0
No files found.
src/ajax.js
View file @
825ac377
...
@@ -3,6 +3,7 @@ define([
...
@@ -3,6 +3,7 @@ define([
"./var/rnotwhite"
,
"./var/rnotwhite"
,
"./ajax/var/nonce"
,
"./ajax/var/nonce"
,
"./ajax/var/rquery"
,
"./ajax/var/rquery"
,
"./core/init"
,
"./ajax/parseJSON"
,
"./ajax/parseJSON"
,
"./ajax/parseXML"
,
"./ajax/parseXML"
,
"./deferred"
"./deferred"
...
...
src/attributes/classes.js
View file @
825ac377
...
@@ -2,7 +2,8 @@ define([
...
@@ -2,7 +2,8 @@ define([
"../core"
,
"../core"
,
"../var/rnotwhite"
,
"../var/rnotwhite"
,
"../var/strundefined"
,
"../var/strundefined"
,
"../data/var/data_priv"
"../data/var/data_priv"
,
"../core/init"
],
function
(
jQuery
,
rnotwhite
,
strundefined
,
data_priv
)
{
],
function
(
jQuery
,
rnotwhite
,
strundefined
,
data_priv
)
{
var
rclass
=
/
[\t\r\n\f]
/g
;
var
rclass
=
/
[\t\r\n\f]
/g
;
...
...
src/attributes/val.js
View file @
825ac377
define
([
define
([
"../core"
,
"../core"
,
"./support"
"./support"
,
"../core/init"
],
function
(
jQuery
,
support
)
{
],
function
(
jQuery
,
support
)
{
var
rreturn
=
/
\r
/g
;
var
rreturn
=
/
\r
/g
;
...
...
src/core.js
View file @
825ac377
...
@@ -10,12 +10,8 @@ var
...
@@ -10,12 +10,8 @@ var
toString
=
require
(
"./var/toString"
),
toString
=
require
(
"./var/toString"
),
hasOwn
=
require
(
"./var/hasOwn"
),
hasOwn
=
require
(
"./var/hasOwn"
),
trim
=
require
(
"./var/trim"
),
trim
=
require
(
"./var/trim"
),
rsingleTag
=
require
(
"./var/rsingleTag"
),
support
=
require
(
"./var/support"
),
support
=
require
(
"./var/support"
),
// A central reference to the root jQuery(document)
rootjQuery
,
// Use the correct document accordingly with window argument (sandbox)
// Use the correct document accordingly with window argument (sandbox)
document
=
window
.
document
,
document
=
window
.
document
,
...
@@ -30,14 +26,10 @@ var
...
@@ -30,14 +26,10 @@ var
// Define a local copy of jQuery
// Define a local copy of jQuery
jQuery
=
function
(
selector
,
context
)
{
jQuery
=
function
(
selector
,
context
)
{
// The jQuery object is actually just the init constructor 'enhanced'
// The jQuery object is actually just the init constructor 'enhanced'
return
new
jQuery
.
fn
.
init
(
selector
,
context
,
rootjQuery
);
// Need init if jQuery is called (just allow error to be thrown if not included)
return
new
jQuery
.
fn
.
init
(
selector
,
context
);
},
},
// A simple way to check for HTML strings
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
// Strict HTML recognition (#11290: must start with <)
rquickExpr
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
// Matches dashed string for camelizing
// Matches dashed string for camelizing
rmsPrefix
=
/^-ms-/
,
rmsPrefix
=
/^-ms-/
,
rdashAlpha
=
/-
([\d
a-z
])
/gi
,
rdashAlpha
=
/-
([\d
a-z
])
/gi
,
...
@@ -53,105 +45,6 @@ jQuery.fn = jQuery.prototype = {
...
@@ -53,105 +45,6 @@ jQuery.fn = jQuery.prototype = {
constructor
:
jQuery
,
constructor
:
jQuery
,
init
:
function
(
selector
,
context
,
rootjQuery
)
{
var
match
,
elem
;
// HANDLE: $(""), $(null), $(undefined), $(false)
if
(
!
selector
)
{
return
this
;
}
// Handle HTML strings
if
(
typeof
selector
===
"string"
)
{
if
(
selector
.
charAt
(
0
)
===
"<"
&&
selector
.
charAt
(
selector
.
length
-
1
)
===
">"
&&
selector
.
length
>=
3
)
{
// Assume that strings that start and end with <> are HTML and skip the regex check
match
=
[
null
,
selector
,
null
];
}
else
{
match
=
rquickExpr
.
exec
(
selector
);
}
// Match html or make sure no context is specified for #id
if
(
match
&&
(
match
[
1
]
||
!
context
)
)
{
// HANDLE: $(html) -> $(array)
if
(
match
[
1
]
)
{
context
=
context
instanceof
jQuery
?
context
[
0
]
:
context
;
// scripts is true for back-compat
// Intentionally let the error be thrown if parseHTML is not present
jQuery
.
merge
(
this
,
jQuery
.
parseHTML
(
match
[
1
],
context
&&
context
.
nodeType
?
context
.
ownerDocument
||
context
:
document
,
true
)
);
// HANDLE: $(html, props)
if
(
rsingleTag
.
test
(
match
[
1
]
)
&&
jQuery
.
isPlainObject
(
context
)
)
{
for
(
match
in
context
)
{
// Properties of context are called as methods if possible
if
(
jQuery
.
isFunction
(
this
[
match
]
)
)
{
this
[
match
](
context
[
match
]
);
// ...and otherwise set as attributes
}
else
{
this
.
attr
(
match
,
context
[
match
]
);
}
}
}
return
this
;
// HANDLE: $(#id)
}
else
{
elem
=
document
.
getElementById
(
match
[
2
]
);
// Check parentNode to catch when Blackberry 4.6 returns
// nodes that are no longer in the document #6963
if
(
elem
&&
elem
.
parentNode
)
{
// Inject the element directly into the jQuery object
this
.
length
=
1
;
this
[
0
]
=
elem
;
}
this
.
context
=
document
;
this
.
selector
=
selector
;
return
this
;
}
// HANDLE: $(expr, $(...))
}
else
if
(
!
context
||
context
.
jquery
)
{
return
(
context
||
rootjQuery
).
find
(
selector
);
// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
}
else
{
return
this
.
constructor
(
context
).
find
(
selector
);
}
// HANDLE: $(DOMElement)
}
else
if
(
selector
.
nodeType
)
{
this
.
context
=
this
[
0
]
=
selector
;
this
.
length
=
1
;
return
this
;
// HANDLE: $(function)
// Shortcut for document ready
}
else
if
(
jQuery
.
isFunction
(
selector
)
)
{
return
typeof
rootjQuery
.
ready
!==
"undefined"
?
rootjQuery
.
ready
(
selector
)
:
// Execute immediately if ready is not present
selector
(
jQuery
);
}
if
(
selector
.
selector
!==
undefined
)
{
this
.
selector
=
selector
.
selector
;
this
.
context
=
selector
.
context
;
}
return
jQuery
.
makeArray
(
selector
,
this
);
},
// Start with an empty selector
// Start with an empty selector
selector
:
""
,
selector
:
""
,
...
@@ -231,9 +124,6 @@ jQuery.fn = jQuery.prototype = {
...
@@ -231,9 +124,6 @@ jQuery.fn = jQuery.prototype = {
splice
:
arr
.
splice
splice
:
arr
.
splice
};
};
// Give the init function the jQuery prototype for later instantiation
jQuery
.
fn
.
init
.
prototype
=
jQuery
.
fn
;
jQuery
.
extend
=
jQuery
.
fn
.
extend
=
function
()
{
jQuery
.
extend
=
jQuery
.
fn
.
extend
=
function
()
{
var
options
,
name
,
src
,
copy
,
copyIsArray
,
clone
,
var
options
,
name
,
src
,
copy
,
copyIsArray
,
clone
,
target
=
arguments
[
0
]
||
{},
target
=
arguments
[
0
]
||
{},
...
@@ -621,8 +511,5 @@ function isArraylike( obj ) {
...
@@ -621,8 +511,5 @@ function isArraylike( obj ) {
typeof
length
===
"number"
&&
length
>
0
&&
(
length
-
1
)
in
obj
);
typeof
length
===
"number"
&&
length
>
0
&&
(
length
-
1
)
in
obj
);
}
}
// All jQuery objects should point back to these
rootjQuery
=
jQuery
(
document
);
return
jQuery
;
return
jQuery
;
});
});
src/core/init.js
0 → 100644
View file @
825ac377
// Initialize a jQuery object
define
([
"../core"
,
"./var/rsingleTag"
,
"../traversing/findFilter"
],
function
(
jQuery
,
rsingleTag
)
{
// A central reference to the root jQuery(document)
var
rootjQuery
,
// A simple way to check for HTML strings
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
// Strict HTML recognition (#11290: must start with <)
rquickExpr
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
init
=
jQuery
.
fn
.
init
=
function
(
selector
,
context
)
{
var
match
,
elem
;
// HANDLE: $(""), $(null), $(undefined), $(false)
if
(
!
selector
)
{
return
this
;
}
// Handle HTML strings
if
(
typeof
selector
===
"string"
)
{
if
(
selector
.
charAt
(
0
)
===
"<"
&&
selector
.
charAt
(
selector
.
length
-
1
)
===
">"
&&
selector
.
length
>=
3
)
{
// Assume that strings that start and end with <> are HTML and skip the regex check
match
=
[
null
,
selector
,
null
];
}
else
{
match
=
rquickExpr
.
exec
(
selector
);
}
// Match html or make sure no context is specified for #id
if
(
match
&&
(
match
[
1
]
||
!
context
)
)
{
// HANDLE: $(html) -> $(array)
if
(
match
[
1
]
)
{
context
=
context
instanceof
jQuery
?
context
[
0
]
:
context
;
// scripts is true for back-compat
// Intentionally let the error be thrown if parseHTML is not present
jQuery
.
merge
(
this
,
jQuery
.
parseHTML
(
match
[
1
],
context
&&
context
.
nodeType
?
context
.
ownerDocument
||
context
:
document
,
true
)
);
// HANDLE: $(html, props)
if
(
rsingleTag
.
test
(
match
[
1
]
)
&&
jQuery
.
isPlainObject
(
context
)
)
{
for
(
match
in
context
)
{
// Properties of context are called as methods if possible
if
(
jQuery
.
isFunction
(
this
[
match
]
)
)
{
this
[
match
](
context
[
match
]
);
// ...and otherwise set as attributes
}
else
{
this
.
attr
(
match
,
context
[
match
]
);
}
}
}
return
this
;
// HANDLE: $(#id)
}
else
{
elem
=
document
.
getElementById
(
match
[
2
]
);
// Check parentNode to catch when Blackberry 4.6 returns
// nodes that are no longer in the document #6963
if
(
elem
&&
elem
.
parentNode
)
{
// Inject the element directly into the jQuery object
this
.
length
=
1
;
this
[
0
]
=
elem
;
}
this
.
context
=
document
;
this
.
selector
=
selector
;
return
this
;
}
// HANDLE: $(expr, $(...))
}
else
if
(
!
context
||
context
.
jquery
)
{
return
(
context
||
rootjQuery
).
find
(
selector
);
// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
}
else
{
return
this
.
constructor
(
context
).
find
(
selector
);
}
// HANDLE: $(DOMElement)
}
else
if
(
selector
.
nodeType
)
{
this
.
context
=
this
[
0
]
=
selector
;
this
.
length
=
1
;
return
this
;
// HANDLE: $(function)
// Shortcut for document ready
}
else
if
(
jQuery
.
isFunction
(
selector
)
)
{
return
typeof
rootjQuery
.
ready
!==
"undefined"
?
rootjQuery
.
ready
(
selector
)
:
// Execute immediately if ready is not present
selector
(
jQuery
);
}
if
(
selector
.
selector
!==
undefined
)
{
this
.
selector
=
selector
.
selector
;
this
.
context
=
selector
.
context
;
}
return
jQuery
.
makeArray
(
selector
,
this
);
};
// Give the init function the jQuery prototype for later instantiation
init
.
prototype
=
jQuery
.
fn
;
// Initialize central reference
rootjQuery
=
jQuery
(
document
);
return
init
;
});
src/core/parseHTML.js
View file @
825ac377
define
([
define
([
"../core"
,
"../core"
,
".
.
/var/rsingleTag"
,
"./var/rsingleTag"
,
"../manipulation"
// buildFragment
"../manipulation"
// buildFragment
],
function
(
jQuery
,
rsingleTag
)
{
],
function
(
jQuery
,
rsingleTag
)
{
...
...
src/core/ready.js
View file @
825ac377
define
([
define
([
"../core"
,
"../core"
,
"../core/init"
,
"../deferred"
"../deferred"
],
function
(
jQuery
)
{
],
function
(
jQuery
)
{
...
...
src/var/rsingleTag.js
→
src/
core/
var/rsingleTag.js
View file @
825ac377
File moved
src/css.js
View file @
825ac377
...
@@ -29,6 +29,7 @@ var
...
@@ -29,6 +29,7 @@ var
cssPrefixes
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
];
cssPrefixes
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
];
// Dependencies not needed as vars
// Dependencies not needed as vars
require
(
"./core/init"
);
require
(
"./css/swap"
);
require
(
"./css/swap"
);
require
(
"./core/ready"
);
require
(
"./core/ready"
);
require
(
"./selector"
);
// contains
require
(
"./selector"
);
// contains
...
...
src/effects.js
View file @
825ac377
...
@@ -63,6 +63,7 @@ var
...
@@ -63,6 +63,7 @@ var
};
};
// Dependencies not needed as vars
// Dependencies not needed as vars
require
(
"./core/init"
);
require
(
"./effects/Tween"
);
require
(
"./effects/Tween"
);
require
(
"./queue"
);
require
(
"./queue"
);
require
(
"./css"
);
require
(
"./css"
);
...
...
src/event.js
View file @
825ac377
...
@@ -14,6 +14,7 @@ var
...
@@ -14,6 +14,7 @@ var
rtypenamespace
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
$/
;
rtypenamespace
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
$/
;
// Dependencies not needed as vars
// Dependencies not needed as vars
require
(
"./core/init"
);
require
(
"./data/accepts"
);
require
(
"./data/accepts"
);
require
(
"./selector"
);
require
(
"./selector"
);
...
...
src/manipulation.js
View file @
825ac377
...
@@ -42,6 +42,7 @@ wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.the
...
@@ -42,6 +42,7 @@ wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.the
wrapMap
.
th
=
wrapMap
.
td
;
wrapMap
.
th
=
wrapMap
.
td
;
// Dependencies not needed as variables
// Dependencies not needed as variables
require
(
"./core/init"
);
require
(
"./data/accepts"
);
require
(
"./data/accepts"
);
require
(
"./traversing"
);
require
(
"./traversing"
);
require
(
"./selector"
);
require
(
"./selector"
);
...
...
src/offset.js
View file @
825ac377
...
@@ -2,6 +2,7 @@ define([
...
@@ -2,6 +2,7 @@ define([
"./core"
,
"./core"
,
"./var/strundefined"
,
"./var/strundefined"
,
"./core/access"
,
"./core/access"
,
"./core/init"
,
"./css"
,
"./css"
,
"./selector"
// contains
"./selector"
// contains
],
function
(
jQuery
,
strundefined
,
access
)
{
],
function
(
jQuery
,
strundefined
,
access
)
{
...
...
src/serialize.js
View file @
825ac377
define
([
define
([
"./core"
,
"./core"
,
"./manipulation/var/rcheckableType"
,
"./manipulation/var/rcheckableType"
,
"./core/init"
,
"./traversing"
,
// filter
"./traversing"
,
// filter
"./attributes/prop"
"./attributes/prop"
],
function
(
jQuery
,
rcheckableType
)
{
],
function
(
jQuery
,
rcheckableType
)
{
...
...
src/traversing.js
View file @
825ac377
define
([
define
([
"./core"
,
"./core"
,
"./var/indexOf"
,
"./var/indexOf"
,
"./traversing/var/rneedsContext"
,
"./core/init"
,
"./traversing/findFilter"
,
"./selector"
"./selector"
],
function
(
jQuery
,
indexOf
)
{
],
function
(
jQuery
,
indexOf
,
rneedsContext
)
{
var
isSimple
=
/^.
[^
:#
\[\.
,
]
*$/
,
var
rparentsprev
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
rparentsprev
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
rneedsContext
=
jQuery
.
expr
.
match
.
needsContext
,
// methods guaranteed to produce a unique set when starting from a unique set
// methods guaranteed to produce a unique set when starting from a unique set
guaranteedUnique
=
{
guaranteedUnique
=
{
children
:
true
,
children
:
true
,
...
@@ -15,51 +16,7 @@ var isSimple = /^.[^:#\[\.,]*$/,
...
@@ -15,51 +16,7 @@ var isSimple = /^.[^:#\[\.,]*$/,
prev
:
true
prev
:
true
};
};
// Implement the identical functionality for filter and not
function
winnow
(
elements
,
qualifier
,
not
)
{
if
(
jQuery
.
isFunction
(
qualifier
)
)
{
return
jQuery
.
grep
(
elements
,
function
(
elem
,
i
)
{
/* jshint -W018 */
return
!!
qualifier
.
call
(
elem
,
i
,
elem
)
!==
not
;
});
}
if
(
qualifier
.
nodeType
)
{
return
jQuery
.
grep
(
elements
,
function
(
elem
)
{
return
(
elem
===
qualifier
)
!==
not
;
});
}
if
(
typeof
qualifier
===
"string"
)
{
if
(
isSimple
.
test
(
qualifier
)
)
{
return
jQuery
.
filter
(
qualifier
,
elements
,
not
);
}
qualifier
=
jQuery
.
filter
(
qualifier
,
elements
);
}
return
jQuery
.
grep
(
elements
,
function
(
elem
)
{
return
(
indexOf
.
call
(
qualifier
,
elem
)
>=
0
)
!==
not
;
});
}
jQuery
.
extend
({
jQuery
.
extend
({
filter
:
function
(
expr
,
elems
,
not
)
{
var
elem
=
elems
[
0
];
if
(
not
)
{
expr
=
":not("
+
expr
+
")"
;
}
return
elems
.
length
===
1
&&
elem
.
nodeType
===
1
?
jQuery
.
find
.
matchesSelector
(
elem
,
expr
)
?
[
elem
]
:
[]
:
jQuery
.
find
.
matches
(
expr
,
jQuery
.
grep
(
elems
,
function
(
elem
)
{
return
elem
.
nodeType
===
1
;
}));
},
dir
:
function
(
elem
,
dir
,
until
)
{
dir
:
function
(
elem
,
dir
,
until
)
{
var
matched
=
[],
var
matched
=
[],
truncate
=
until
!==
undefined
;
truncate
=
until
!==
undefined
;
...
@@ -89,32 +46,6 @@ jQuery.extend({
...
@@ -89,32 +46,6 @@ jQuery.extend({
});
});
jQuery
.
fn
.
extend
({
jQuery
.
fn
.
extend
({
find
:
function
(
selector
)
{
var
i
,
ret
=
[],
self
=
this
,
len
=
self
.
length
;
if
(
typeof
selector
!==
"string"
)
{
return
this
.
pushStack
(
jQuery
(
selector
).
filter
(
function
()
{
for
(
i
=
0
;
i
<
len
;
i
++
)
{
if
(
jQuery
.
contains
(
self
[
i
],
this
)
)
{
return
true
;
}
}
})
);
}
for
(
i
=
0
;
i
<
len
;
i
++
)
{
jQuery
.
find
(
selector
,
self
[
i
],
ret
);
}
// Needed because $( selector, context ) becomes $( context ).find( selector )
ret
=
this
.
pushStack
(
len
>
1
?
jQuery
.
unique
(
ret
)
:
ret
);
ret
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
selector
:
selector
;
return
ret
;
},
has
:
function
(
target
)
{
has
:
function
(
target
)
{
var
targets
=
jQuery
(
target
,
this
),
var
targets
=
jQuery
(
target
,
this
),
l
=
targets
.
length
;
l
=
targets
.
length
;
...
@@ -129,27 +60,6 @@ jQuery.fn.extend({
...
@@ -129,27 +60,6 @@ jQuery.fn.extend({
});
});
},
},
not
:
function
(
selector
)
{
return
this
.
pushStack
(
winnow
(
this
,
selector
||
[],
true
)
);
},
filter
:
function
(
selector
)
{
return
this
.
pushStack
(
winnow
(
this
,
selector
||
[],
false
)
);
},
is
:
function
(
selector
)
{
return
!!
winnow
(
this
,
// If this is a positional/relative selector, check membership in the returned set
// so $("p:first").is("p:last") won't return true for a doc with two "p".
typeof
selector
===
"string"
&&
rneedsContext
.
test
(
selector
)
?
jQuery
(
selector
)
:
selector
||
[],
false
).
length
;
},
closest
:
function
(
selectors
,
context
)
{
closest
:
function
(
selectors
,
context
)
{
var
cur
,
var
cur
,
i
=
0
,
i
=
0
,
...
...
src/traversing/findFilter.js
0 → 100644
View file @
825ac377
define
([
"../core"
,
"../var/indexOf"
,
"./var/rneedsContext"
,
"../selector"
],
function
(
jQuery
,
indexOf
,
rneedsContext
)
{
var
risSimple
=
/^.
[^
:#
\[\.
,
]
*$/
;
// Implement the identical functionality for filter and not
function
winnow
(
elements
,
qualifier
,
not
)
{
if
(
jQuery
.
isFunction
(
qualifier
)
)
{
return
jQuery
.
grep
(
elements
,
function
(
elem
,
i
)
{
/* jshint -W018 */
return
!!
qualifier
.
call
(
elem
,
i
,
elem
)
!==
not
;
});
}
if
(
qualifier
.
nodeType
)
{
return
jQuery
.
grep
(
elements
,
function
(
elem
)
{
return
(
elem
===
qualifier
)
!==
not
;
});
}
if
(
typeof
qualifier
===
"string"
)
{
if
(
risSimple
.
test
(
qualifier
)
)
{
return
jQuery
.
filter
(
qualifier
,
elements
,
not
);
}
qualifier
=
jQuery
.
filter
(
qualifier
,
elements
);
}
return
jQuery
.
grep
(
elements
,
function
(
elem
)
{
return
(
indexOf
.
call
(
qualifier
,
elem
)
>=
0
)
!==
not
;
});
}
jQuery
.
filter
=
function
(
expr
,
elems
,
not
)
{
var
elem
=
elems
[
0
];
if
(
not
)
{
expr
=
":not("
+
expr
+
")"
;
}
return
elems
.
length
===
1
&&
elem
.
nodeType
===
1
?
jQuery
.
find
.
matchesSelector
(
elem
,
expr
)
?
[
elem
]
:
[]
:
jQuery
.
find
.
matches
(
expr
,
jQuery
.
grep
(
elems
,
function
(
elem
)
{
return
elem
.
nodeType
===
1
;
}));
};
jQuery
.
fn
.
extend
({
find
:
function
(
selector
)
{
var
i
,
ret
=
[],
self
=
this
,
len
=
self
.
length
;
if
(
typeof
selector
!==
"string"
)
{
return
this
.
pushStack
(
jQuery
(
selector
).
filter
(
function
()
{
for
(
i
=
0
;
i
<
len
;
i
++
)
{
if
(
jQuery
.
contains
(
self
[
i
],
this
)
)
{
return
true
;
}
}
})
);
}
for
(
i
=
0
;
i
<
len
;
i
++
)
{
jQuery
.
find
(
selector
,
self
[
i
],
ret
);
}
// Needed because $( selector, context ) becomes $( context ).find( selector )
ret
=
this
.
pushStack
(
len
>
1
?
jQuery
.
unique
(
ret
)
:
ret
);
ret
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
selector
:
selector
;
return
ret
;
},
filter
:
function
(
selector
)
{
return
this
.
pushStack
(
winnow
(
this
,
selector
||
[],
false
)
);
},
not
:
function
(
selector
)
{
return
this
.
pushStack
(
winnow
(
this
,
selector
||
[],
true
)
);
},
is
:
function
(
selector
)
{
return
!!
winnow
(
this
,
// If this is a positional/relative selector, check membership in the returned set
// so $("p:first").is("p:last") won't return true for a doc with two "p".
typeof
selector
===
"string"
&&
rneedsContext
.
test
(
selector
)
?
jQuery
(
selector
)
:
selector
||
[],
false
).
length
;
}
});
});
src/traversing/var/rneedsContext.js
0 → 100644
View file @
825ac377
define
([
"../../core"
,
"../../selector"
],
function
(
jQuery
)
{
return
jQuery
.
expr
.
match
.
needsContext
;
});
src/wrap.js
View file @
825ac377
define
([
define
([
"./core"
,
"./core"
,
"./core/init"
,
"./traversing"
// parent, contents
"./traversing"
// parent, contents
],
function
(
jQuery
)
{
],
function
(
jQuery
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment