我有一个锚点,当点击显示内容时,取决于它匹配的ID。但脚本不起作用。
HTML:
<a href="javascript:ReverseDisplay('asd')">
Click to show/hide</a>
<div id="asd" style="display:none;">
<p>Content goes here.</p>
</div>
SCRIPT:
function HideContent(d) {
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
document.getElementById(d).style.display = "block";
}
function ReverseDisplay(d) {
if(document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
else { document.getElementById(d).style.display = "none"; }
}
FIDDLE HERE
答案 0 :(得分:1)
你的问题是:
在&#34;框架&amp;扩展&#34; 部分,在JSFiddle的左侧边栏中,您可以选择&#34; onLoad &#34;选择。这会导致您的函数被包装在事件侦听器中(仅在加载页面内容时才运行的函数)。由于您的函数最终在此事件侦听器中声明,因此它们在窗口对象(javascript&#39; s&#34;全局对象&#34;)中不可用。因此,当点击链接尝试调用该函数时,它将是&#34; 未定义&#34;在窗口对象中抛出错误(您可以在浏览器的控制台中看到这一点)。只需将该选项更改为&#34;无需包装 - #34; ,您就可以了。 =)
另外,我建议您使用降低的首字母来命名您的函数,因为如果函数是构造函数,那么只使用大写字母启动函数名称是最佳实践。
答案 1 :(得分:1)