Added new parents, parent and siblings functions.
Siblings function still needs some work. It would be nice to have an optional -or-self argument too.
This commit is contained in:
parent
37394df837
commit
193866de0a
1 changed files with 22 additions and 16 deletions
26
jquery/jquery.js
vendored
26
jquery/jquery.js
vendored
|
@ -214,17 +214,23 @@ function $(a,c) {
|
||||||
},
|
},
|
||||||
|
|
||||||
parent: function(a) {
|
parent: function(a) {
|
||||||
if ( a == null ) a = 1;
|
|
||||||
this.cur = $.map(this.cur,function(d){
|
this.cur = $.map(this.cur,function(d){
|
||||||
var b = $.parents(d);
|
return d.parentNode;
|
||||||
if ( a == 0 )
|
|
||||||
return b;
|
|
||||||
else if ( a.constructor == String ) {
|
|
||||||
var c = $.filter(a,b);
|
|
||||||
return c.length > 0 ? c[0] : null;
|
|
||||||
} else
|
|
||||||
return b.length >= a ? b[a-1] : null;
|
|
||||||
});
|
});
|
||||||
|
if ( a ) this.cur = $.filter(a,this.cur).r;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
parents: function(a) {
|
||||||
|
this.cur = $.map(this.cur,$.parents);
|
||||||
|
if ( a ) this.cur = $.filter(a,this.cur).r;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
siblings: function(a) {
|
||||||
|
// Incorrect, need to exclude current element
|
||||||
|
this.cur = $.map(this.cur,$.sibling);
|
||||||
|
if ( a ) this.cur = $.filter(a,this.cur).r;
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -573,7 +579,7 @@ $.filter = function(t,r,not) {
|
||||||
$.parents = function(a){
|
$.parents = function(a){
|
||||||
var b = [];
|
var b = [];
|
||||||
var c = a.parentNode;
|
var c = a.parentNode;
|
||||||
while ( c != null && c != c.documentElement ) {
|
while ( c != null && c != document ) {
|
||||||
b[b.length] = c;
|
b[b.length] = c;
|
||||||
c = c.parentNode;
|
c = c.parentNode;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue