显示:无;在浏览器中显示“无”

时间:2011-04-08 16:32:16

标签: javascript html css

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>

3 个答案:

答案 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