git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
jquery core: closes #5186. getElementsByTagName optimization was breaking the selecto...
[jquery.git]
/
src
/
traversing.js
diff --git
a/src/traversing.js
b/src/traversing.js
index
db446cf
..
1342c59
100644
(file)
--- a/
src/traversing.js
+++ b/
src/traversing.js
@@
-51,13
+51,13
@@
jQuery.fn.extend({
return this.pushStack( jQuery.winnow(this, selector, true), "filter", selector );
},
return this.pushStack( jQuery.winnow(this, selector, true), "filter", selector );
},
- closest: function( selector ) {
+ closest: function( selector, context ) {
var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
closer = 0;
return this.map(function(){
var cur = this;
var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
closer = 0;
return this.map(function(){
var cur = this;
- while ( cur && cur.ownerDocument ) {
+ while ( cur && cur.ownerDocument && cur !== context ) {
if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
jQuery.data(cur, "closest", closer);
return cur;
if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
jQuery.data(cur, "closest", closer);
return cur;
@@
-78,7
+78,17
@@
jQuery.fn.extend({
},
eq: function( i ) {
},
eq: function( i ) {
- return this.slice( i, +i + 1 );
+ return i === -1 ?
+ this.slice( i ) :
+ this.slice( i, +i + 1 );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
},
slice: function() {
},
slice: function() {