Dan, Thank you so much for your help and your code rewrite! I have been struggling with javascript for months in order to try to do this task, and given the prevalence of collapsible menus, I suspected that I was making things rather harder than they needed to be. I had heard about jQuery and other libraries, but it had never occurred to me to look at them for a way to do this. As you might have been able to tell by the link at the end of the code, I plan to use this code within our LibGuides home page in order to list the subject categories and individual guides within those categories. This is roughly what I would like it to resemble (I need to make a few changes unrelated to the code you provided): http://libguides.gvsu.edu/content.php?pid=63144 Our current LibGuides home page is simply an A-Z list of guides, but a few librarians from other institutions have asked me how I did that. I imagine that others may ask me how I did this, as well. Would it be acceptable to you if I posted this code on my blog (http://llyfrgellydd.info)? I only have about 60 subscribers, so it is not a huge audience, but I think that others might find your code very useful. It goes without saying that I would attribute authorship to you (and add a line to the code attributing authorship). Again, thank you for your help with this - it is a relief to have an elegant, cross-platform compatible solution after all this time! -Laura >>> On 11/5/2009 at 9:23 AM, <[log in to unmask]> wrote: > Laura, > > I don't have a solution for the problem at hand but I would like to suggest > an alternate course of development. > > When JavaScript is used to manipulate the DOM tree or add behaviours to a > webpage it is almost always better to use a cross-browser library then to code > it by hand. > The problems you are encountering between IE and Firefox are only amplified > when a broader selection of browser and browser versions are taken into > consideration. > Relying on a third party to do browser compatiblity and performance > optomiztions frees up your time as a developer to focus on implementing the > desired behaviour. > There are many options out there -- Prototype, Dojo, MooTools, etc. -- but > jQuery is my library of choice. > > I took the liberty of rewriting the webpage in question to create the > behaviour you desired with a few lines of jQuery. > http://gist.github.com/227059 > I commented the code thoroughly so you or anyone else new to jQuery should > be able to follow what's going on and why. > > For further reading on the nature and use of jQuery see: > http://docs.jquery.com/ > http://api.jquery.com/ > > best of luck, > -dan > ---------- > Dan Brubaker Horst > Project / Application Developer - Hesburgh Library of Notre Dame > ________________________________________ > From: Code for Libraries [[log in to unmask]] On Behalf Of Laura > Harris [[log in to unmask]] > Sent: Tuesday, November 03, 2009 1:37 PM > To: [log in to unmask] > Subject: [CODE4LIB] Javascript question - works in FF, but not in IE > > Hello, new subscriber here...I'm trying to fix some javascript. It works as > expected in Firefox, but not in Internet Explorer. FWIW, am using FF 3.0.14 > and IE 7.0.6. > > The code is up on pastebin here: http://pastebin.com/m20949cd1 > > I'm aware that setAttribute & getAttribute are buggy in Internet Explorer, so > (in an alternate version of the code) I replaced the toggle bit in function > createToggleFunction with the following: > > > if (toggleElement.className == 'collapsibleClosed') { > toggleElement.className = 'collapsibleOpen'; > toggleElement.src = OPEN_IMAGE; > } else { > toggleElement.className = 'collapsibleClosed'; > toggleElement.src = CLOSED_IMAGE; > } > > > However, I must assume I did something wrong in the code above, because it > doesn't work in Firefox. > > Any thoughts? Let me know if I need to provide more information. > > Thanks, > > Laura Harris > Web Services Librarian > Grand Valley State University > Allendale, MI 49401