Javascript显示/隐藏在IE8中不起作用

Javascript显示/隐藏在IE8中不起作用,javascript,show-hide,Javascript,Show Hide,我有一些代码可以在FF、Chrome、Safari甚至IE9中使用。当然,它在IE8中不起作用。它是使用Javascript在两个div上显示/隐藏的。我对JS不是非常精通,因此任何帮助都将不胜感激 Javascript函数: function showonlyone(thechosenone) { var subscriberinfo = document.getElementsByTagName("div"); for(var x=0; x<subscriberinfo.len

我有一些代码可以在FF、Chrome、Safari甚至IE9中使用。当然,它在IE8中不起作用。它是使用Javascript在两个div上显示/隐藏的。我对JS不是非常精通,因此任何帮助都将不胜感激

Javascript函数:

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';
      }
    }
  }
}
<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>
功能仅显示一个(氯乙烯酮){
var subscriberinfo=document.getElementsByTagName(“div”);
对于(var x=0;x
第2分部

而不是
getAttribute(“类”)
您是否尝试过
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';
    }
  }
}
功能仅显示一个(氯乙烯酮){
var subscriberinfo=document.getElementsByTagName(“div”);

对于(var x=0;x“XYZ功能不在IE8中工作”-你还期望什么?据我所知,你可能可以使用CSS类来完成这项任务。使用
javascript:
schemed links是不推荐的做法。@Rocketpig当IE8不工作时,你能检查一下它是否处于怪癖模式。对不起,我应该详细说明一下。我在兼容模式下运行IE9。我没有IE8的本机副本在这台机器上。你的大括号没有对齐,这让我很困扰。请执行
subscriberinfo[x].className | | subscriberinfo[x].getAttribute(“类”)
以使用任何可用的属性(即,使用
className
,或返回到
getAttribute(“类”)
如果
className
不可用。您知道在某些情况下,
className
不存在,但是
getAttribute(“类”)
存在吗?在这方面,
className
似乎更有效!