Onclick动作:两个功能;只是第一次工作。相当绝望

时间:2015-04-15 18:32:54

标签: javascript function class styles

这是我的HTML代码:

<td width="15%" align="center"><input name="submit" type="submit"     class="button" 
   value="Basic" tabindex="13" 
   onclick="return submit_Click('bxbas','bxsht');" /></td>

这是我的javascript代码:

<script type="text/javascript">
function submit_Click(aclass,bclass) {
  var elementsa = document.getElementsByClassName(aclass);
  for(i in elementsa)
  {
      elementsa[i].style.display = "block";
  } 
  var elementsb = document.getElementsByClassName(bclass);
  for(j in elementsb)
  {
      elementsb[j].style.display = "none";
  }
}
</script>

不幸的是,这不起作用。显然,只有函数的第一部分工作,才能显示第一个类(aclass)。第二个仍然可见。

谢谢

1 个答案:

答案 0 :(得分:0)

不要使用For ..在这种情况下。如果您使用Console.Log您的元素a,您将看到最后一个元素不是数字,因此它会破坏您的元素a [i]。使用&#34;用于&#34;解决了这个问题:

function submit_Click(aclass, bclass) {
        var elementsa = document.getElementsByClassName(aclass);
        for (i=0; i < elementsa.length; i++) {
            elementsa[i].style.display = "block";
        }
        var elementsb = document.getElementsByClassName(bclass);
        for (j=0; j < elementsb.length; j++) {
            elementsb[j].style.display = "none";
        }
    }