2010-05-22 7 views
0
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> 

dans le code ci-dessus fonctionne dans IE mais ne fonctionne pas dans mozilla 3.6. J'ai vérifié que obj==BaseLog ne fonctionne pas dans le code ci-dessus. J'ai essayé beaucoup d'options commefonctionne bien dans IE mais la même fonction ne fonctionne pas pour mozilla 3.6

event.srcelement 
window.event.srcelement 

mais en vain. lorsque je débogue le code, j'ai trouvé que obj a une valeur complète pour IE mais le même obj est d'avoir tous les noms. le nom de tag, id et class pour "Base Log" séparés par #. i.e a#BaseLog#TextHeader# S'il vous plaît suggérer ce que je fais?

Répondre

6

Soit utiliser

if (obj.id == 'BaseLog') 

ou

if (obj == getElementById('BaseLog')) 

Dans IE, si un élément HTML a id X, puis dans le script la variable globale X sera affectée à cet élément. Ce n'est pas le cas pour beaucoup d'autres navigateurs, ce qui explique aussi pourquoi il fonctionne dans IE mais pas Firefox.

+0

yup, cela a vraiment fonctionné! – user347755

Questions connexes