功能在IE中工作正常,但同样的功能不适用于mozilla 3.6

use*_*755 0 javascript dom

function VisibleDiv(obj) {
if (obj == BaseLog) {
var objStyle = document.getElementById('DivCalls').style;
if (objStyle.display == "block")
objStyle.display = "none";
else
objStyle.display = "block";
}
else if (obj == ViewReports) {
var objStyle = document.getElementById('DivReports').style;
if (objStyle.display == "block")
objStyle.display = "none";
else
objStyle.display = "block";
}
else if (obj ==Management) {
var objStyle = document.getElementById('DivManage').style;
if (objStyle.display == "block")
objStyle.display = "none";
else
objStyle.display = "block";
}

<a href="#" id="BaseLog" class="TextHeader" onclick="VisibleDiv(this)">Base Log </a>
Run Code Online (Sandbox Code Playgroud)

在上面的代码是在IE中工作但不在mozilla 3.6中工作.我检查obj==BaseLog过上面的代码不起作用.我尝试过很多选择

event.srcelement
window.event.srcelement
Run Code Online (Sandbox Code Playgroud)

但一切都是徒劳的.当我调试代码时,我发现obj具有完整的IE值,但同样的obj具有所有名称.ie.由#分隔的"基本日志"的标记,标识和类的名称.即a#BaseLog#TextHeader# 请建议我做什么?

ken*_*ytm 6

要么使用

if (obj.id == 'BaseLog')
Run Code Online (Sandbox Code Playgroud)

要么

if (obj == getElementById('BaseLog'))
Run Code Online (Sandbox Code Playgroud)

在IE中,如果HTML元素具有idX,则在脚本中将全局变量X分配给该元素.对于许多其他浏览器来说情况并非如此,这也是它在IE中工作的原因,而不是Firefox的原因.