首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图切换带有按钮的类的可见性(使用Javascript),绝对没有工作,我遗漏了什么?

试图切换带有按钮的类的可见性(使用Javascript),绝对没有工作,我遗漏了什么?
EN

Stack Overflow用户
提问于 2017-02-22 11:24:55
回答 4查看 585关注 0票数 0

我希望设置一个页面,其中页面上的某些元素的可见性被按钮切换,但是由于某种原因,我的代码被忽略/完全不做任何事情。

我可以在使用ID时让它工作,但是只有页面上ID的第一个实例被更改,而其余的则被忽略。上课什么都不会发生。

我肯定我错过了一些基本的东西,但我想不出是什么。请查阅以下资料:

代码语言:javascript
复制
function georgianInfo() {
  document.getElementByClassName("georgian").style.display = "block";
  document.getElementByClassName("international").style.display = "none";
}

function internationalInfo() {
  document.getElementByClassName("georgian").style.display = "none";
  document.getElementByClassName("international").style.display = "block";
}
代码语言:javascript
复制
.georgian {
  display: none;
}

.international {
  display: block;
}
代码语言:javascript
复制
<form><input type="button" onClick="georgianInfo()" value="georgian students"></form>

<form><input type="button" onClick="internationalInfo()" value="international students"></form>

<h4 class="margin-rmv">Admissions Information</h4>

<h5 class="georgian">Georgian Students Admissions Information</h5>

<h5 class="international">International Students Admissions Information</h5>

参考codepen:https://codepen.io/escapetomars/pen/vxBLgg

EN

回答 4

Stack Overflow用户

发布于 2017-02-22 11:30:03

更改document.getElementsByClassName的拼写。

另外,document.getElementsByClassName返回一个数组/元素列表。所以你必须用正确的索引来引用它。

参考代码:

代码语言:javascript
复制
function georgianInfo() {
  document.getElementsByClassName("georgian")[0].style.display = "block";
  document.getElementsByClassName("international")[0].style.display = "none";
}

function internationalInfo() {
  document.getElementsByClassName("georgian")[0].style.display = "none";
  document.getElementsByClassName("international")[0].style.display = "block";
}
代码语言:javascript
复制
.georgian {
  display: none;
}

.international {
  display: block;
}
代码语言:javascript
复制
<table class="tab-menu" cellspacing="0" cellpadding="0">
  <tr>
    <td>
      <form><input type="button" onClick="georgianInfo()" value="for georgian students"></form>
    </td>
    <td>
      <form><input type="button" onClick="internationalInfo()" value="for international students"></form>
    </td>
  </tr>
</table>

<h4 class="margin-rmv">Admissions Information</h4>

<h5 class="georgian">Georgian Students Admissions Information</h5>

<h5 class="international">International Students Admissions Information</h5>

为了更好地理解构造,我建议您通过有关Document.getElementsByClassNameDocument.getElementsByClassName

票数 3
EN

Stack Overflow用户

发布于 2017-02-22 11:33:23

改变职能如下:

代码语言:javascript
复制
    function georgianInfo() {
      document.getElementsByClassName("georgian")[0].style.display = "block";
      document.getElementsByClassName("international")[0].style.display = "none";
    }

    function internationalInfo() {
      document.getElementsByClassName("georgian")[0].style.display = "none";
      document.getElementsByClassName("international")[0].style.display = "block";
    }
票数 0
EN

Stack Overflow用户

发布于 2017-02-22 11:38:35

正确的方法是document.getElementsByClassName,顾名思义,它返回一个项数组。因此,如果必须对这些元素应用任何内容,则需要对该数组进行迭代,然后对每个元素应用一些内容,或者可以使用数组索引来选择特定的元素。

代码语言:javascript
复制
var element = document.getElementsByClassName('class')[0]; // assuming you have at least one matching element.
element.style.display = 'none';

以下是指向更新代码的链接

http://codepen.io/vibhanshu/pen/EWYNMb

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42389937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档