Ich versuche Divs zu verwenden, um Inhalt auf meiner Seite anzuzeigen. Dies wird mit einem Onchange-Element in einem Auswahlmenü gesteuert. Es funktioniert perfekt, aber das Problem ist, ich möchte ein Div schließen, wenn ein anderes geöffnet wird. Das Div ist gut in Ordnung, aber es schließt die anderen nicht. Ein Beispielcode ist unten. Was mache ich falsch?Div Sichtbarkeit mit Javascript - Problem
JavaScript:
if(document.getElementById('catgry').value == '01'){
document.getElementById('post04').style.visibility = "visible";
document.getElementById('post04').style.display = "";
document.getElementById('post07').style.visibility = "hidden";
document.getElementById('post07').style.display = "none";
}else if(document.getElementById('catgry').value == '02'){
document.getElementById('post02').style.visibility = "visible";
document.getElementById('post02').style.display = "";
document.getElementById('post04').style.visibility = "hidden";
document.getElementById('post04').style.display = "none";
document.getElementById('post07').style.visibility = "hidden";
document.getElementById('post07').style.display = "none";
}
HTML:
<div id="post04" style="visibility:hidden; display:none;">
<table class="posttb"><tr>
<td width="30%">Author</td>
<td><input type="text" name="author" size="30" class="postfd"></td>
</tr>
</table>
</div>
Sie könnten das Problem vereinfachen, indem die Anzeigeregeln in CSS setzen und nur das Hinzufügen und Klassen zu Ihrem divs zu entfernen. – keithjgrant
@sammville Live-Demo: http://jsfiddle.net/9Tx7g/ –
Nein, Sie müssen * jQuery * nicht verwenden. Aber Ihr aktueller Ansatz ist ziemlich ineffizient. Es wäre einfacher, den besten Ansatz zu kennen, wenn wir ein vollständigeres Bild Ihres HTML hätten. Sind die 'post0x' Elemente Geschwister? Wenn ja, hat der Elterncontainer eine ID? – user113716