Javascript 使用img onclick将显示特性更改为块

Javascript 使用img onclick将显示特性更改为块,javascript,html,Javascript,Html,我在页面上有一个默认隐藏的错误元素。我有一个覆盖弹出窗口,显示在页面加载,这是工作正常,我有一个'解散'按钮在这个覆盖,隐藏覆盖再次,这是工作。但是,我还希望它在单击覆盖层中的Dismise按钮时,将页面上的error元素的display属性从none更改为block 页面上的错误元素 <div id="error_dismissed" style="display:none;">you dismissed it man!!!!!!</div> “驳回”按钮显示在覆盖弹

我在页面上有一个默认隐藏的错误元素。我有一个覆盖弹出窗口,显示在页面加载,这是工作正常,我有一个'解散'按钮在这个覆盖,隐藏覆盖再次,这是工作。但是,我还希望它在单击覆盖层中的Dismise按钮时,将页面上的error元素的display属性从none更改为block

页面上的错误元素

<div id="error_dismissed" style="display:none;">you dismissed it man!!!!!!</div>
“驳回”按钮显示在覆盖弹出窗口上

<img onclick="var bi=document.getElementById('main'); if (bi) set_opacity(bi,1.0); document.getElementById('overlay').style.display='none'; document.getElementById('error_dismissed').style.display='block';" src="dismiss.png" />

将所有JavaScript放在HTML属性中会使读取和调试变得非常困难。您的代码适用于将属性更改为块的部分,因此最有可能的是,在脚本中出现错误之前,该错误会阻止它到达该行。将脚本移动到某个函数,以便可以对其进行调试

下面是您的代码工作的演示。除了添加代码中引用的外,我没有更改任何内容:

你把它解雇了,伙计!!!!!!
你为什么把所有的JavaScript都放在HTML属性中?除了让阅读变得非常困难之外,调试几乎是不可能的。您的代码适用于将属性更改为块的部分,因此最有可能的是,在脚本中出现错误之前,该错误会阻止它到达该行。将脚本移动到一个函数中,这样你就可以调试它了。使用内联事件处理程序是一种不好的做法,会导致代码分解不好,难以管理——基本上是评估。认真考虑用JavaScript附加事件,例如:这样地: