在ASP.NET中使用javascript隐藏和显示div

在ASP.NET中使用javascript隐藏和显示div,javascript,Javascript,我想在单击按钮后显示音频播放器。这是我的密码 <script type="text/javascript"> function viewAudio() { document.getElementById('myAudio').style.display = "" } document.getElementById('myAudio').style.display = "none" </script> <button va

我想在单击按钮后显示音频播放器。这是我的密码

<script type="text/javascript">
    function viewAudio() {
        document.getElementById('myAudio').style.display = ""
    }
    document.getElementById('myAudio').style.display = "none"


</script>

<button value="@Html.DisplayFor(modelItem => item.SampleURL)" id="audioViewer" onclick="viewAudio()">
            <img src="../../Content/images/audio.png"></button>

<div id="myAudio">
<audio controls preload="none">
    <source src="#" type="audio/mp3">
</audio>
</div>

函数viewAudio(){
document.getElementById('myAudio').style.display=“”
}
document.getElementById('myAudio').style.display=“无”
但是,当我在浏览器中运行时,它仍然显示音频播放器。
有什么解决方案吗?

如果这是一个ASP页面,那么该按钮单击可能正在进行回发。这将重置状态。您应该让
返回false
onclick的末尾

或者,如果问题是div从未隐藏,则可以直接在html标记中的div元素上设置样式


确保您正在使用浏览器的开发工具检查当前正在查看的元素上的css样式。您还可以在浏览器中设置断点并单步执行javascript代码。

首先,要在默认情况下隐藏播放器,您不需要使用javascript。将此样式添加到容器中:

 <div id="myAudio" style="display: none;">

我对ASP.NET一无所知,但是如果它是HTML的扩展,那么在执行
时,就没有
文档了。getElementById('myAudio')
,因为它还没有加载,所以您的样式将不适用(并且会出现错误)。
function viewAudio() {
    document.getElementById('myAudio').style.display = "block";
}
<asp:Button ID="ButtonShowPanel" CausesValidation="false" CssClass="btn btn-primary pull-right" runat="server" Text="Add Contact" OnClientClick="javascript:SetVisiblityPanels(false); return false;" />