Ticket #7848: updated.patch
| File updated.patch, 2.2 kB (added by haraldmartin, 1 year ago) |
|---|
-
src/dom.js
old new 151 151 descendants: function(element) { 152 152 return $A($(element).getElementsByTagName('*')).each(Element.extend); 153 153 }, 154 155 immediateDescendants: function(element) { 156 return $(element).findChildNodes(); 157 }, 154 158 155 immediateDescendants: function(element) { 156 if (!(element = $(element).firstChild)) return []; 159 findChildNodes: function(element, single) { 160 var returning = single ? null : []; 161 if (!(element = $(element).firstChild)) return returning; 157 162 while (element && element.nodeType != 1) element = element.nextSibling; 158 if (element) return [element].concat($(element).nextSiblings());159 return [];163 if (element) return single ? element : [element].concat($(element).nextSiblings()); 164 return returning; 160 165 }, 161 166 162 167 previousSiblings: function(element) { 163 168 return $(element).recursivelyCollect('previousSibling'); 164 169 }, … … 179 184 }, 180 185 181 186 up: function(element, expression, index) { 187 if (arguments.length == 1) return $(element.parentNode); 182 188 var ancestors = $(element).ancestors(); 183 189 return expression ? Selector.findElement(ancestors, expression, index) : 184 190 ancestors[index || 0]; 185 191 }, 186 192 187 193 down: function(element, expression, index) { 194 if (arguments.length == 1) return $(element).findChildNodes(true); 188 195 var descendants = $(element).descendants(); 189 196 return expression ? Selector.findElement(descendants, expression, index) : 190 197 descendants[index || 0]; 191 198 }, 192 199 193 200 previous: function(element, expression, index) { 201 if (arguments.length == 1) 202 return $(Selector.handlers.previousElementSibling(element)); 194 203 var previousSiblings = $(element).previousSiblings(); 195 204 return expression ? Selector.findElement(previousSiblings, expression, index) : 196 205 previousSiblings[index || 0]; 197 206 }, 198 207 199 208 next: function(element, expression, index) { 209 if (arguments.length == 1) 210 return $(Selector.handlers.nextElementSibling(element)); 200 211 var nextSiblings = $(element).nextSiblings(); 201 212 return expression ? Selector.findElement(nextSiblings, expression, index) : 202 213 nextSiblings[index || 0];