Siblings function still needs some work.
It would be nice to have an optional -or-self argument too.
this.cur = this.old;
return this;
},
this.cur = this.old;
return this;
},
-
- parent: function(a) {
- if ( a == null ) a = 1;
- this.cur = $.map(this.cur,function(d){
- var b = $.parents(d);
- 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;
- });
- return this;
- },
+
+ parent: function(a) {
+ this.cur = $.map(this.cur,function(d){
+ return d.parentNode;
+ });
+ 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;
+ },
parents: function(a) {
return this;
parents: function(a) {
return this;
$.parents = function(a){
var b = [];
var c = a.parentNode;
$.parents = function(a){
var b = [];
var c = a.parentNode;
- while ( c != null && c != c.documentElement ) {
+ while ( c != null && c != document ) {
b[b.length] = c;
c = c.parentNode;
}
b[b.length] = c;
c = c.parentNode;
}