From 771244a58ce812198e7171e4ee0ae5b27032ead0 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 25 Mar 2005 17:28:49 +0000 Subject: Made getElementsByClassName actually work git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@991 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../action_view/helpers/javascripts/prototype.js | 37 ++++++++++++++-------- 1 file changed, 24 insertions(+), 13 deletions(-) (limited to 'actionpack/lib/action_view/helpers/javascripts') diff --git a/actionpack/lib/action_view/helpers/javascripts/prototype.js b/actionpack/lib/action_view/helpers/javascripts/prototype.js index f03a817c60..5d8d69dedb 100644 --- a/actionpack/lib/action_view/helpers/javascripts/prototype.js +++ b/actionpack/lib/action_view/helpers/javascripts/prototype.js @@ -86,23 +86,34 @@ function $() { } function getElementsByClassName(className, element) { - var children = (element || document).getElementsByTagName('*'); + var all = document.all ? document.all : document.getElementsByTagName(element); var elements = new Array(); - - for (var i = 0; i < children.length; i++) { - var child = children[i]; - var classNames = child.className.split(' '); - for (var j = 0; j < classNames.length; j++) { - if (classNames[j] == className) { - elements.push(child); - break; - } - } - } - + + for (var e = 0; e < all.length; e++) + if (all[e].className == className) + elements[elements.length] = all[e]; + return elements; } +// function getElementsByClassName(className, element) { +// var children = (element || document).getElementsByTagName('*'); +// var elements = new Array(); +// +// for (var i = 0; i < children.length; i++) { +// var child = children[i]; +// var classNames = child.className.split(' '); +// for (var j = 0; j < classNames.length; j++) { +// if (classNames[j] == className) { +// elements.push(child); +// break; +// } +// } +// } +// +// return elements; +// } + /*--------------------------------------------------------------------------*/ Ajax = { -- cgit v1.2.3