функция работает нормально в IE, но та же функция не работает для Mozilla 3.6 - PullRequest
0 голосов
/ 22 мая 2010
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# Пожалуйста, предложите, что я должен делать?

1 Ответ

6 голосов
/ 22 мая 2010

Либо использовать

if (obj.id == 'BaseLog')

или

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

В IE, если элемент HTML имеет id X, тогда в скрипте глобальная переменная X будет присвоена этому элементу. Это не относится ко многим другим браузерам, поэтому также работает в IE, но не в Firefox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...