提問here有關如何將css樣式從一個對象複製到另一個對象。而普遍接受的答案是:如何將所有用戶提供的樣式從一個對象複製到另一個對象
var p = document.getElementById("your_p_id");
var div = document.createElement("div");
div.innerHTML = "your div content";
div.style.cssText = document.defaultView.getComputedStyle(p, "").cssText;
但是,我的情況有點不同。我有一個腳本,創建一個span
來推測一個select
標記,然後隱藏select
。這允許更簡單的CSS樣式,因爲相對於堅固的select
標籤,我可以更輕鬆地設計span
。
當我使用cssText
時,要將從select中應用的所有樣式複製到span,結果看起來就像是一個select標籤。由於所有內置樣式都適用於span,而不僅僅是用戶輸入,所以我必須用幾十個來覆蓋所有這些css屬性,這首先打破了span標籤的作用。
有沒有辦法只複製用戶提供的樣式,而不是用於樣式元素的整個樣式表? 。
到目前爲止,我已經能夠通過把從選擇跨越class
和id
傳輸應用的樣式,但我面臨的挑戰是讓風格直接塗抹在select
標籤(即在款式/樣式表,其內容如下: select { blah : bloh;}
)
如何應用用戶定義的樣式?使用課堂?如果是,則應用相同的類 – anu
您是否需要舊版瀏覽器支持? –
你是否只想要style屬性的樣式? – Jarek