Skip to content

Commit 45fe222

Browse files
Optimize Form.getElements. [#1147 state:resolved] (Victor, Andrew Dupont)
1 parent f1a5e42 commit 45fe222

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

src/prototype/dom/form.js

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -184,21 +184,16 @@ Form.Methods = {
184184
* OPTION elements are not included in the result; only their parent
185185
* SELECT control is.
186186
**/
187+
187188
getElements: function(form) {
188-
var elements = $(form).getElementsByTagName('*'),
189-
element,
190-
arr = [ ],
191-
serializers = Form.Element.Serializers;
192-
// `length` is not used to prevent interference with
193-
// length-named elements shadowing `length` of a nodelist
189+
var elements = $(form).getElementsByTagName('*');
190+
var element, results = [], serializers = Form.Element.Serializers;
191+
194192
for (var i = 0; element = elements[i]; i++) {
195-
arr.push(element);
193+
if (serializers[element.tagName.toLowerCase()])
194+
results.push(Element.extend(element));
196195
}
197-
return arr.inject([], function(elements, child) {
198-
if (serializers[child.tagName.toLowerCase()])
199-
elements.push(Element.extend(child));
200-
return elements;
201-
})
196+
return results;
202197
},
203198

204199
/**

0 commit comments

Comments
 (0)