我需要在我们仍在使用的旧系统上解决问题。我正忙着将一个新系统转换为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';
}
}
答案 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'
,虽然有些浏览器允许,但是那些遵循标准的显示值不会相应地呈现页面......