實際上,我是用這讓我的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