2013-10-11 35 views
1

我试图在JavaScript中动态创建一个div标签,并将其放置在现有的div标签中。JavaScript:在IE7的div标签上设置style属性

此代码适用于FF,Chrome,IE9和IE10。该代码需要在IE7中工作。

当设置样式属性,IE7将引发以下错误:

Not implemented

下面是代码:

<html> 
    <head> 
    </head> 
    <body> 
     <div id="content"> </div> 
     <script> 
     var input = document.createElement('div'); 

     // Above code above executes fine. 
     input.style = "display: block;"; // << This code triggers 
              // the error mentioned above 

     input.className = "container"; 
     input.innerHTML = 'Test'; 
     var container = document.getElementById('content'); 
     container.appendChild(input); 
     </script> 
    </body> 
</html> 

请让我知道,如果我在这里忽视的东西,或者如果该代码需要在IE7中运行时要更改。谢谢!

+0

为什么你在默认情况下将div的样式设置为'display:block'?你为什么在向div中添加一个类时设置内联样式 - 为什么不在所有类中包含所有需要的样式呢?无论如何,关于错误,你有没有尝试将div添加到容器中,然后设置样式?或'input.style.display =“block”;'? – nnnnnn

+0

@nnnnnn该代码根据需要更改内联样式。这已经被编码了,我试图使它与IE7兼容。尝试将'div'附加到容器,然后设置样式。同样的结果。 'input.style.display =“block”;'也出现错误'无法获取显示属性。无效参数' – slayernoah

回答

2

使用这个代替:

input.style.display = "block"; 

虽然我不知道为什么你要做到这一点,因为在所有block已经是一个<div>元素的默认显示样式。

+0

当我尝试'input.style.display =“block;”;'它给出错误:'无法获得显示属性。无效的参数.' – slayernoah

+0

@slayernoah - 其他东西必须在你的文档中进行,因为这种处理样式属性的形式在IE 7中工作正常。 – jfriend00

+0

它确实有效。谢谢!!我正在尝试'input.style.display =“block;”;'而不是'input.style.display =“block”;'。这是漫长的一天!谢谢! – slayernoah