Ticket #7848: optimized_dom_nav.diff
| File optimized_dom_nav.diff, 1.6 kB (added by haraldmartin, 1 year ago) |
|---|
-
src/dom.js
old new 179 179 }, 180 180 181 181 up: function(element, expression, index) { 182 if (arguments.length == 1) return $(element.parentNode); 182 183 var ancestors = $(element).ancestors(); 183 184 return expression ? Selector.findElement(ancestors, expression, index) : 184 185 ancestors[index || 0]; 185 186 }, 186 187 187 188 down: function(element, expression, index) { 189 if (arguments.length == 1) { 190 // heavily based on immediateDescendants and should be refactored 191 if (!(element = $(element).firstChild)) return null; 192 while (element && element.nodeType != 1) element = element.nextSibling; 193 if (element) return $(element); 194 return null; 195 } 188 196 var descendants = $(element).descendants(); 189 197 return expression ? Selector.findElement(descendants, expression, index) : 190 198 descendants[index || 0]; 191 199 }, 192 200 193 201 previous: function(element, expression, index) { 202 if (arguments.length == 1) 203 return $(Selector.handlers.previousElementSibling(element)); 194 204 var previousSiblings = $(element).previousSiblings(); 195 205 return expression ? Selector.findElement(previousSiblings, expression, index) : 196 206 previousSiblings[index || 0]; 197 207 }, 198 208 199 209 next: function(element, expression, index) { 210 if (arguments.length == 1) 211 return $(Selector.handlers.nextElementSibling(element)); 200 212 var nextSiblings = $(element).nextSiblings(); 201 213 return expression ? Selector.findElement(nextSiblings, expression, index) : 202 214 nextSiblings[index || 0];