我有一个代码,最初只会激活第一次出现的ElementsByClassName(" thishere"),即使单击文档中的后续内容也是如此。
function zxcv(el) {
el.style.display = "none";
el.parentNode.parentNode.getElementsByClassName("thishere")[0].style.display = 'block';
return false;
}

所做的更改(见下文)意味着当点击任何ElementsByClassName(" thishere")时它可以循环遍历所有元素ByClassName(" thishere")但我是实际上寻找中间的东西;我只想点击要激活的元素的特定事件,而不是同时发生所有事件。
我的专业知识非常有限,所以我希望我使用了正确的术语并提供了相关信息。非常感谢帮助。
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;
}

以下是使用的HTML:
<div><a href="stackoverflow.com" target="_blank" rel="follow" onClick="zxcv(this)">Stackoverflow</a><div class="thishere" style="display:none;">On Your Way To Expert Help</div>
&#13;
答案 0 :(得分:0)
function zxcv(el){
var elements=el.parentNode.parentNode.getElementsByClassName("thishere");
for(var i=0,len=elements.length;i<len;i++){
!function(i){
elements[i].style.display='block';
}(i)
}
el.style.display="none";
return false
}
根据我的了解, for... in
仅适用于JavaScript对象。
答案 1 :(得分:-1)
试试这个:
HTML:
<div class="thishere">
<h1 style="display:none;">CleverPeople</h1>
<a href="stackoverflow.com" target="_blank" rel="follow">www.Stackoverflow.com</a>
</div>
<div class="thishere">
<h1 style="display:none;">MoreCleverPeople</h1>
<a href="stackoverflow.com" target="_blank" rel="follow">www.Stackoverflowmore.com</a>
</div>
JS:
$('document').ready(function(){
$('.thishere').on('click',function(e){
$(this).find('a').hide();
$(this).find('h1').show();
//return false;
})
});