如何在每次点击时仅 "show" getElementsByClassName

How to only "show" getElementsByClassName on each individual click

function zxcv(el) {
el.style.display = "none";
el.parentNode.parentNode.getElementsByClassName("thishere")[0].style.display = 'block';
return false;
}

上面的代码不是我需要的,因为它只会激活元素的一次出现。

下面的代码不是我需要的,因为它只会在单击时激活所有出现的元素

function zxcv(el) {
    el.style.display = "none";
    var elements = el.parentNode.parentNode.getElementsByClassName("thishere");
    for(var i in elements) {
           elements[i].style.display = 'block';
    }
    return false;
}

请参阅 JS Fiddle here HTML 以及我目前使用它的位置(请注意,我会将 onLoad 选项更改为不换行,但 JSFiddle 似乎已经删除了框架和扩展,或者至少我看不到它:/,所以我怀疑这就是 "answer" 没有被揭示的原因。当我测试自己时,答案确实显示了) .

我的专业知识非常有限,我被卡住了;我只想要被点击到 "show" 的元素,而不是一次。请帮忙!

例如:

一 + 一 = 二

二 + 二 = 四

如果点击 'One +One =',则 'Four' 不会显示,只会显示 'Two'

您可以使用 nextElementSibling 获取下一个兄弟姐妹。不需要使用迭代。

function zxcv(el) {
    el.style.display = "none";
    var elements = el.nextElementSibling;
    elements.style.display = 'block';   
    return false;
}
<a class="mathslink" href="#" rel="nofollow" onClick="zxcv(this)">One + One Equals</a>
<div class="thishere" style="display:none;"><span class="mathsanswer"><strong>Two</strong></span></div>

<a class="mathslink" href="#" rel="nofollow" onClick="zxcv(this)">Two + Two Equals</a>
<div class="thishere" style="display:none;"><span class="mathsanswer"><strong>Four</strong></span></div>