Permalink
Browse files

ENHANCEMENT Only defining document.getElementsByClassName() in protot…

…ype.js if no native implementation exists (which speeds up the CMS). Ported from 'jquery13' module, thanks Hamish (from r100849)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@108813 467b73ca-7a2a-4603-9d3b-597d59a354a9
  • Loading branch information...
1 parent 3c79514 commit c57728a8d90b64e31d602cc4cf90f845a13bed32 Andreas Piening committed Aug 3, 2010
Showing with 10 additions and 7 deletions.
  1. +10 −7 thirdparty/prototype/prototype.js
@@ -1006,13 +1006,16 @@ Ajax.Evaluator = function(response) {
}
-document.getElementsByClassName = function(className, parentElement) {
- var children = ($(parentElement) || document.body).getElementsByTagName('*');
- return $A(children).inject([], function(elements, child) {
- if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
- elements.push(child);
- return elements;
- });
+// Only define this if no native (and significantly faster) implementation exists.
+if(!document.getElementsByClassName) {
+ document.getElementsByClassName = function(className, parentElement) {
+ var children = ($(parentElement) || document.body).getElementsByTagName('*');
+ return $A(children).inject([], function(elements, child) {
+ if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
+ elements.push(child);
+ return elements;
+ });
+ }
}
/*--------------------------------------------------------------------------*/

0 comments on commit c57728a

Please sign in to comment.