Как вы переключаете видимость div в FF с помощью JavaScript? (IE и Chrome работают нормально) - PullRequest
3 голосов
/ 15 января 2012

Итак, я пытаюсь переключать видимость слоя div с помощью javascript, и это выглядит так:

document.all["layer1"].style.visibility='visible';

и

document.all["layer1"].style.visibility='hidden';

Как бы выглядел синтаксис, если я пытаюсь сделать это в Firefox? Если я это знаю, тогда я добавлю оператор if, чтобы проверить, является ли браузер firefox, и использую альтернативный код.

Ответы [ 2 ]

6 голосов
/ 15 января 2012

document.all - не поддерживаемая функция, и она не указана в спецификации для DOM ( Здесь - подробнее об этом). Вам нужно будет захватить div другим способом.

querySelector

document.querySelector('div#layer1').style.visibility = 'hidden';    
document.querySelector('div#layer1').style.visibility = 'visible';

ИЛИ

getElemenyById

document.getElementById('layer1').style.visibility = 'hidden';
document.getElementById('layer1').style.visibility = 'visible';

- это два основных метода.

2 голосов
/ 15 января 2012

Не используйте document.all[]. Он поддерживается не всеми браузерами и в значительной степени является артефактом дней IE4. Вместо этого используйте document.getElementById() для доступа к атрибуту id <div>:

document.getElementById("layer1").style.visibility = 'hidden';
document.getElementById("layer1").style.visibility = 'visible';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...