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>
上面代码中的在IE中工作但在mozilla 3.6中不起作用。
我已检查obj==BaseLog
在上述代码中无效。
我尝试了很多选项,比如
event.srcelement
window.event.srcelement
但都是徒劳的。
当我调试代码时,我发现obj对IE有完整的价值但是
同一个obj拥有所有的名字.ie。由#分隔的“基本日志”的标记,标识和类的名称。即a#BaseLog#TextHeader#
请建议我做什么?
答案 0 :(得分:6)
使用
if (obj.id == 'BaseLog')
或
if (obj == getElementById('BaseLog'))
在IE中,如果HTML元素具有id
X,那么在脚本中,全局变量X将被分配给该元素。对于许多其他浏览器来说情况并非如此,这也是它在IE中工作的原因,而不是Firefox。