A short summary is available here:
<http://blog.caboo.se/articles/2008/3/21/safari-3-1-breaks-your-app>
The above blog entry suggests substituting $$ for getElementsByClassName as a work-around and I see that the Prototype documentation lists getElementsByClassName as "deprecated".
My problem is that I use the 'parentElement' option in Prototype's getElementsByClassName fairly often so $$ is not an effective substitution.
So, is there a variation on $$ that constrains the search to a specific node?
I have yet to hear a comment on this list regarding Safari 3.1's change and how it affects Prototype. Am I the only one feeling this pain. This broke our site in a few important ways...
Is there a short-term hack I can apply to Prototype to get it to allow me to use Safari's getElementsByClassName (which appears to support the parentElement option)?
Is there something I'm missing here?
Regards,
Steve Upton
--
$('node-id').select('class-name');
:Dan
Oops: $('node-id').select('.class-name');
Sorry!
:Dan
Best regards
Peter De Berdt
This is a good thing to know but Safari 3.1's new implementation of getElementsByClassName does not seem to use the parentElement parameter so I get elements for the whole page... not what I needed.
yep, .select did it.
For the record, I changed:
elms = document.getElementsByClassName('classname',parentElement);
into
elms = $(parentElement).select('.classname');
The $ is handy when the element isn't yet extended OR is an id and don't forget to put the '.' in front of the class name to make it a class selector.
Thanks for your help.
Regards,
Steve
________________________________________________________________________
o Steve Upton CHROMiX www.chromix.com
o (hueman) 866.CHROMiX
________________________________________________________________________
--