【发布时间】:2012-04-16 01:54:00
【问题描述】:
这应该很容易,但它不能正常工作......我对 javascript 很生疏,无法弄清楚我错过了什么。
我有一个导航栏,当人们点击小箭头时,我希望它消失,只留下第二个箭头。当用户单击第二个箭头时,导航栏会重新出现。所有的导航栏都在一个标签中。导航菜单本身很长,原因之一是我想让用户能够打开和关闭它。
head中的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。使用 span 而不是 div 也是一样的,单引号和双引号之间没有区别。当我将 id="navbar" 移动到标签时,导航栏确实消失了,但它使旧 td 标签大小的背景颜色保持不变。我希望它变成空白,除了小箭头。所以问题 1 是为什么 div 和 span 不起作用,或者 td 在旧空间中留下背景颜色。
第二个问题是如何通过变量在文本中指定innerHTM。不用把这一切都放在头文件中会很好。
感谢您的任何想法!
【问题讨论】:
-
可以举个例子吗?也许是jsFiddle?
-
剪切并粘贴到 .txt 文件中并重命名 .htm,你会看到我得到了什么。
标签: javascript text onclick swap