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选项更改为No wrap,但JSFiddle似乎已删除了Frameworks和Extensions,或者至少我无法看到它:/,所以我怀疑为什么"回答"没有被揭示。当我测试自己答案确实显示时)。
我的专业知识非常有限,我被困住了;我只想要点击的元素"显示",而不是所有的一次。请帮忙!
例如:
一个+一个=两个
两个+两个=四个
如果' One + One ='点击,然后点击四个'不会显示,只是' Two'
答案 0 :(得分:2)
您可以使用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>
&#13;