Старый школьный JavaScript не работает в Chrome и IE - PullRequest
0 голосов
/ 15 февраля 2012

Мне нужно решить проблему на старой системе, которую мы все еще используем.Я занят преобразованием новой системы в jquery, но эти самородки из старой системы иногда всплывают.

Приведенный ниже код прекрасно работает в Firefox, но совсем не работает в Chrome или IE.

Я добавил console.log («test»), и он работает в Firefox, но не в Chrome или IE.

Пожалуйста, дайте мне знать, как лучше всего это сделать в vanilla javascript, чтобы он был совместим с браузерами,Спасибо

Код

function showlaptop(theTable)
{
  if (document.getElementById(theTable).style.display == 'none')
  {
        document.getElementById(theTable).style.display = 'block';
        console.log("test");
  }
}

function hidelaptop(theTable)
{
  if (document.getElementById(theTable).style.display == 'none')
  {
        document.getElementById(theTable).style.display = 'none';
  }
  else
  {
        document.getElementById(theTable).style.display = 'none';
  }
}

1 Ответ

1 голос
/ 15 февраля 2012

Это должно работать во всех браузерах ...

function showlaptop(theTable)
{
  if (document.getElementById(theTable).style.display == 'none')
  {
        document.getElementById(theTable).style.display = '';
        console.log("test");
  }
}

function hidelaptop(theTable)
{
  if (document.getElementById(theTable).style.display == '')
  {
        document.getElementById(theTable).style.display = 'none';
  }
  else
  {
        document.getElementById(theTable).style.display = 'none';
  }
}

, то есть заменить 'block' на ''

Вам не нужно второе, кстати ...

UPDATE:

Как упоминал Роб в комментариях. Значение отображения по умолчанию для всего не равно 'block', хотя некоторые браузеры допускают это, но те, которые следуют стандартам, не отображают страницу соответствующим образом ...

...