ENHANCEMENT Only defining document.getElementsByClassName() in prototype.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
This commit is contained in:
Andreas Piening 2010-08-03 02:06:40 +00:00
parent 3c795141ef
commit c57728a8d9

View File

@ -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;
});
}
}
/*--------------------------------------------------------------------------*/