2013-10-11 36 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