简体   繁体   中英

Javascript doesn't work in IE, works fine in everything else

I am new to JavaScript and tried putting together an FAQs section that limits the number of shown answers to just 1 at a time. The JavaScript is here (also live at http://indulge.cc/indulge.js ). For the whole live site, check out http://www.indulge.cc . You will see in FF, Chrome, Safari, etc. that the FAQs bit works, but doesn't go in IE. Don't know what I missed. Syntax?

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

Get the class attribute by querying the className property, instead of going after the attribute.

name = faqswitcher[x].className;

It works as well in the other browsers, and older IE's require it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM