为什么只有在调用IMG标记的错误事件时才在Firefox中定义父元素?

时间:2012-02-29 11:59:33

标签: javascript asp.net

如果我的Firefox中没有安装扩展程序,我试图取消隐藏DIV元素。

为此,我使用以下技术。

这在Firefox中不起作用。它说

ExtensionNeeded未定义。

我收到警报。请看一下我的代码。

<div style="display: none;" class="alert alert-error" id="ExtensionNeeded">
                    <img style="visibility: hidden;
                        font-family: arial;" onerror="this.src='';alert('hello'); ExtensionNeeded.setAttribute('style','display:none;');" id="ffExt" src="">
                    <a onclick="ExtensionNeeded.setAttribute('style','display:none;');" data-dismiss="alert" class="close" id="CloseButton">×</a>
                    <h4 class="alert-heading">
                        Browser Extension Needed</h4>
                    <p>
                        SmartSignin needs browser extensions to work. Download the extensions by clicking
                        on the button below
                    </p>
                    <p>
                        <a onclick="window.location=('../Installer_files/release.xpi');ExtensionNeeded.setAttribute('style','display:none;');" class="btn btn-danger" id="ExtensionDownload" href="#">Download Extension!</a>
                        <a onclick="ExtensionNeeded.setAttribute('style','display:none;');" class="btn" id="DownloadLater" href="#">Download Later</a>
                    </p>
                </div>

请帮忙。我正在挑选我的头发。

1 个答案:

答案 0 :(得分:1)

ExtensionNeeded是一个div而不是一个对象:

<div style="display: none;" class="alert alert-error" id="ExtensionNeeded">

如果你想获得ExtensionNeeded DOM元素,请查询DOM:

var ExtensionNeeded = document.getElementById('ExtensionNeeded');