老学校javascript无法在Chrome和IE中工作

时间:2012-02-15 04:22:28

标签: javascript internet-explorer firefox google-chrome

我需要在我们仍在使用的旧系统上解决问题。我正忙着将一个新系统转换为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 个答案:

答案 0 :(得分:1)

这适用于所有浏览器......

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'替换为''

你不需要第二个BTW ......

<强>更新

正如Rob在评论中提到的那样。一切的默认显示值不是'block',虽然有些浏览器允许,但是那些遵循标准的显示值不会相应地呈现页面......