2012-11-26 3 views
4

FF, 크롬, 사파리, 심지어 IE9에서 작동하는 코드가 있습니다. 당연히 IE8에서는 작동하지 않습니다. Javascript를 사용하는 두 div의 표시/숨기기입니다. 나는 JS에 능숙하지 않아 어떤 도움을 주시면 감사하겠습니다.자바 스크립트보기/숨기기 IE8에서 작동하지 않습니다

자바 스크립트 기능 :

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 코드 : 대신 getAttribute("class")

<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> 
+2

"IE8에서 작동하지 않는 XYZ 기능"- 그 밖의 무엇을 기대합니까? –

+0

[포럼 게시물] (http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/324560/how-to-hide-and-unhide-div-tag-in-ie7)에 따르면 -and-ie8) CSS 클래스를 사용하여이를 수행 할 수 있습니다. – Xymostech

+0

'javascript :'schemed 링크를 사용하는 것은 권장되지 않습니다. –

답변

6

당신이 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'; 
    } 
    } 
} 
+1

괄호가 맞지 않아서 나를 괴롭 히고 있습니다. – Xymostech

+0

Brilliant! 고맙습니다! – Rocketpig

+3

do'subscriberinfo [x] .className || subscriberInfo [x] .getAttribute ("class")'사용할 수있는 속성을 사용하려면 (즉, className을 사용하거나 className을 사용할 수없는 경우 getAttribute ("class")로 돌아갑니다) – apsillers

관련 문제