This jsFiddle example适用于Google Chrome,但在Internet Explorer中,当点击关闭图标时,浏览器会删除弹出元素,但会在浏览器窗口中显示“无”字样。请解释我如何解决这个问题。
HTML:
<div id="popup">
<!-- Close popup link -->
<a href="javascript:document.getElementById('popup').style.display='none';">X</a>
</div>
答案 0 :(得分:21)
对事件处理程序使用onclick而不是href http://jsfiddle.net/AE2X3/4/
<div id="popup">
<a href="#" onclick="document.getElementById('popup').style.display='none';return false;" id="close_popup"></a>
<p>This is a pop-up.</p>
</div>
答案 1 :(得分:9)
我认为发生的事情是分配返回其结果,然后浏览器显示该结果。如果您将void(0)
添加到JavaScript的末尾,则不会显示它。
让我补充说amit_g's answer比我的更正确。他正确地指出这种行为属于OnClick
处理程序,而不属于href
属性。
答案 2 :(得分:4)
这有效:
<div id="popup">
<a href="javascript:void(0);" onclick="this.parentElement.style.display='none';" id="close_popup"></a>
<p>This is a pop-up.</p>
</div>
的 Demo 强> 的