与innerhtml奇怪的firefox问题

时间:2014-10-19 03:44:02

标签: javascript html css firefox

我有这段代码:

document.getElementById("refhome").innerHTML = "<img src='Resources/WeFix Wide Logo.png' style='height:128px;margin-left:auto;margin-right:auto;text-align:center;display:block;' />";

现在这段代码在所有浏览器上都能很好地运行。但是在firefox中,nope。

我尝试在a中手动添加img,但仍然没有图片。 这是a:

<a id="refhome" href="index.html"><object id="obj1" style="margin:0 auto;display:block;pointer-events:none;width:320px;" type="image/svg+xml" data="Resources/Wefix2.svg"></object></a>

我的javascript应该用img替换该对象,但是他不会在firefox中发生。 即使我手动将img添加到a。但是当我用不同的标签做这件事时:

<a id="as" href="#"><img src='Resources/WeFix Wide Logo.png' style='height:128px;margin-left:auto;margin-right:auto;text-align:center;display:block;' /></a>

没问题。 真的不明白这里发生了什么。 为什么另一个标签是doesen工作?

编辑:

发现问题,但我不知道如何解决它。 当我从对象中删除style属性时,它工作正常,不需要其他js代码。 由于某种原因风格隐藏了svg,这只发生在FF,我在Safari,Chrome和IE中测试

另一个编辑: 看来显示:块隐藏图像......真奇怪。我如何使图像居中?通常我将其设置为阻止并给它一个宽度然后保证金:0自动。如何在没有显示器的情况下居中?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方法,因为显示块隐藏了svg我使用以下代码来集中它:

 style="display:inline-block;pointer-events:none;width:320px;"
为了实现这个目的,我将我的标签和对象标签插入带有textalign中心的div,以及完成所有工作的所有内容。非常感谢,欢呼。