实际上,我是用这让我的onclick显示一个div并隐藏其他的脚本,但现在我需要做同样的“类”,而不是“ID”纯JavaScript。显示类股利和隐藏以前 -
我当前的脚本:
function layout(divName){
var hiddenVal = document.getElementById("tempDivName");
if(hiddenVal.Value != undefined){
var oldDiv = document.getElementById(hiddenVal.Value);
oldDiv.style.display = 'none';
}
var tempDiv = document.getElementById(divName);
tempDiv.style.display = 'block';
hiddenVal.Value = document.getElementById(divName).getAttribute("class");}
我试着使用getElementsByClassName方法:
function layoutNEW(divName){
var hiddenVal = document.getElementById("tempDivName");
if(hiddenVal.Value != undefined){
var oldDiv = document.getElementById(hiddenVal.Value);
oldDiv.style.display = 'none';
}
var tempDiv = document.getElementsByClassName(divName);
for (var i=0, len=tempDiv.length; i<len; ++i){
tempDiv[i].style.display = 'block';
}
hiddenVal.Value = document.getElementById(divName).getAttribute("id");}
任何想法?
编辑:我的“ID”当前脚本的工作的示例:JSFiddle
编辑2:它的伟大工程,但是当DIV(类)被克隆,其中只有一个是显示div。你有这个想法吗?凡一的jsfiddle证明的情况:JSFiddle
是你点击'div'或其他元素来隐藏/显示?你能分享你的HTML以及你的JavaScript的其余部分吗? – Loaf
什么是'.Value'?为什么它有一个资本V?你为什么不找到被点击的元素(event.target)而不是隐藏剩下的元素? – epascarello
@epascarello你不能在点击时隐藏其余的元素,否则你将无法点击另一个元素。你会隐藏点击的元素,并显示其余的。 – mhodges