0

#step2 と #step2h の css は visibility:hidden です。これは私の現在のスクリプトですが、#step だけでなく #step2h も JavaScript を使用してワンクリックで表示したいと考えています。

<body>
<center>
<div id="header"></div>
<div id="wrapper">
<div id="content">
<div id="contenth">
<h1 id=>content header</h1>
</div>
content
<a href="#" onclick="changeDiv(1)">Menu 1</a> ///change to other div
<a href="#" onclick="changeDiv(2)">Menu 2</a>
<script>
function changeDiv(i){
if(i==1)
document.getElementById("content").innerHTML = document.getElementById("step2").innerHTML;
else
document.getElementById("step2").innerHTML = document.getElementById("content").innerHTML;
}
</script>
</div>
</div>
<div id="step2"> // Showed on click
<div id="step2h">//want to show this as well
<h1>STEP 2 Header</h1>
</div>
<h2>Step 2 Content</h2>

</div>
</center>
</body>
4

1 に答える 1

2

通常、次のようにします。

document.getElementById("step2h").style.visibility='visible';

あなたが直面しているかもしれない問題は、step2 の HTML を置き換えると step2h が消去されることです。

step2 コンテンツ用に step2c div を作成し、step2h の下に配置します。次に、その内容を content の内容に置き換えます。その過程で step2h が失われることはありません。このようなもの:

<div id="step2">
    <div id="step2h">
        <h1>STEP 2 Header</h1>
    </div>
    <div id="step2c">
        <h2>Step 2 Content</h2>
    </div>
</div>

そして、これを行います:

document.getElementById("step2c").innerHTML = document.getElementById("content").innerHTML;
于 2012-12-16T08:56:32.037 に答える