これは簡単なはずですが、正しく機能していません...私はjavascriptにかなり錆びていて、何が欠けているのか理解できません。
2番目の矢印だけを残して、人が小さな矢印をクリックすると消えたいナビゲーションバーがあります。ユーザーが2番目の矢印をクリックすると、ナビゲーションバーが再表示されます。すべてのナビゲーションバーが1つのタグに含まれています。ナビゲーションメニュー自体は非常に長いのですが、その理由の1つは、ユーザーがメニューのオンとオフを切り替えることができるようにすることです。
ヘッド内のJavascript関数は次のとおりです。
<script type="text/javascript">
function collapseMenu()
{document.getElementById("navbar").innerHTML ='<td id=navbar2><a href="javascript:void(0)" onclick="collapseMenu('navbar2');"><img src="arrow.gif"></a></td>';
}</script>
ページのテキストは次のとおりです。
<div id='navbar'>
<td>
<a href="javascript:void(0)" onclick="collapseMenu('navbar');"><img src="arrow.gif"></a>
</td>
</div>
idをdivタグに配置すると、リンクをクリックすると矢印が表示されますが、divタグ間の古いhtmlは削除されません。divの代わりにspanを使用し、一重引用符と二重引用符に違いはありません。id = "navbar"をタグに移動すると、ナビゲーションバーは消えますが、古いtdタグのサイズに対して背景色は変更されません。小さな矢印以外は空白にしたいのですが。したがって、質問1は、なぜdivとspanが機能しないのか、あるいはtdが古いスペースに背景色を残しているのかということです。
2番目の質問は、変数を介してテキストでinnerHTMを指定する方法です。これをすべてヘッダーの関数に入れる必要がないのはいいことです。
アイデアをありがとう!