return !node || !node.parentNode || node.parentNode.nodeType === 11;
}
+function nth( cur, dir ) {
+ var num = 0;
+
+ for ( ; cur; cur = cur[dir] ) {
+ if ( cur.nodeType === 1 && num++ === 1 ) {
+ break;
+ }
+ }
+ return cur;
+}
+
jQuery.each({
parent: function( elem ) {
var parent = elem.parentNode;
return jQuery.dir( elem, "parentNode", until );
},
next: function( elem ) {
- return jQuery.nth( elem, "nextSibling" );
+ return nth( elem, "nextSibling" );
},
prev: function( elem ) {
- return jQuery.nth( elem, "previousSibling" );
+ return nth( elem, "previousSibling" );
},
nextAll: function( elem ) {
return jQuery.dir( elem, "nextSibling" );
return matched;
},
- nth: function( cur, dir ) {
- var num = 0;
-
- for ( ; cur; cur = cur[dir] ) {
- if ( cur.nodeType === 1 && num++ === 1 ) {
- break;
- }
- }
-
- return cur;
- },
-
sibling: function( n, elem ) {
var r = [];