Javascript Show / Hide not working in IE8

I have this bit of code that works in FF, Chrome, Safari, and even IE9. Naturally, it does not work in IE8. This show / hide two divs using Javascript. I am not very good at JS, so any help would be appreciated.

Javascript Function:

function showonlyone(thechosenone) { var subscriberinfo = document.getElementsByTagName("div"); for(var x=0; x<subscriberinfo.length; x++) { name = subscriberinfo[x].getAttribute("class"); if (name == 'subscriberinfo') { if (subscriberinfo[x].id == thechosenone) { subscriberinfo[x].style.display = 'block'; } else { subscriberinfo[x].style.display = 'none'; } } } } 

HTML code:

 <ul class="options"> <div class="subscriber-options"> <a href="javascript:showonlyone('subscriberinfo1');" >Account</a> </div> <div class="subscriber-options"> <a href="javascript:showonlyone('subscriberinfo2');" >Subscriber Options</a> </div> </ul> <!-- options --> <div class="subscriberinfo" id="subscriberinfo1">Div #1</div> <!-- subscriberinfo1 --> <div class="subscriberinfo" id="subscriberinfo2" style="display: none;">Div #2</div> 
+4
source share
1 answer

Instead of getAttribute("class") have you tried className ?

 function showonlyone(thechosenone) { var subscriberinfo = document.getElementsByTagName("div"); for(var x=0; x<subscriberinfo.length; x++) { name = subscriberinfo[x].className; // <-- Here is the change if (name == 'subscriberinfo') { subscriberinfo[x].style.display = (subscriberinfo[x].id == thechosenone) ? 'block' : 'none'; } } } 
+6
source

All Articles