我有一些JavaScript代碼創建了一些div
元素,並設置了它們的CSS屬性。 因爲我想從我的JavaScript代碼分離CSS的邏輯和CSS,因爲很容易在自己的.css
文件閱讀,我想我的設置元素的CSS className
,然後動態地注入一些值定義的CSS屬性。如何在JavaScript中動態設置和修改CSS?
這裏是我想怎樣做:
style.css
:
.myClass {
width: $insertedFromJS
}
script.js
:
var myElement = document.createElement("div");
myElement.className = "myClass";
我想要做這樣的事情,但在這一點上myElement.style.width
是空
myElement.style.width.replaceAll("$insertedFromJS", "400px");
我想我在這裏的問題是,調用myElement.className = "myClass"
後,尚未應用CSS。
你什麼時候運行JS?立即? 'onload'? 'ondocumentready'? – mwcz
我對這個問題有點困惑。你試圖影響所有類型爲「myClass」的元素,還是僅僅是剛剛創建的元素? –
我和詹姆斯在一起。在回答這個問題並重新閱讀之後,我實際上對這種事情的目的甚至會產生困惑。你想通過創建一個依賴於Javascript的CSS樣式表來「解耦」你的JS和CSS,以注入/替換你將硬編碼到你的Javascript代碼中的正確值?這與「分離」這個詞的意思完全相反。 – streetlogics