我很尷尬地承認,我無法找到符合標準的方法來使用Javascript修改CSS屬性。或者至少,我認爲是這樣,因爲以下幾點:使用JavaScript不能在嚴格模式下設置CSS屬性?
下面這段代碼在Firefox/WebKit的正常工作沒有DOCTYPE聲明,但不與指定的文檔類型(無論是HTML 4或5)工作:
function setWindowSize(width, height) {
console.log("Syncing dimensions:",width,height); // prints correct values
var container = document.getElementById('canvasProxy');
console.log(container); // prints valid element
console.log(container.style); // prints valid object
container.style['width'] = width;
container.style['height'] = height;
console.log(container.style['width'], container.style['height']); // prints empty values
}
其中帆布代理被簡單地定義爲:
<div id="canvasProxy"></div>
,並沒有與之關聯的樣式。上述代碼直到DOM加載後才執行。
style.setProperty和style.getPropertyCSSValue也無法正常工作。所以呃...什麼是正確的形式?我瘋了嗎?
(我敢打賭,jQuery的可以處理這只是罰款,但我試圖保持頁面大小在這種特殊情況下的絕對最低。)
你最好轉移到jQuery,這使得這種類型的東西在所有瀏覽器中簡單易用。 – 2010-01-28 19:25:17