2011-08-24 161 views
2

方案動態添加引用樣式表內聯樣式

我創建了一個頁面,客戶可以建立自己的網頁,日曆,窗口小部件,用品等。我已經創建了一個動態的第二頁建設者,他們可以建立他們自己的時事通訊。

問題

我所有的CSS與類引用,因爲寄件人是非常有限的我要補充各種風格內嵌

問題

是否有一個腳本,我可以運行抓住通過類的所有引用樣式,並將其添加到相關元素/標籤內嵌的樣式?

實施例[簡單]

<p class='txtBlack'>Hello World</p> 

轉換爲

<p class='txtBlack' style='color:#000;'>Hello World</p> 

希望這是足夠清楚明白。

+0

郵件應用程序特別是Outlook非常有限。我猜你的郵件結果看起來不像你的網頁。 – jantimon

+0

是的,這是正確的,就像我說的。但要內聯樣式和轉換表...它將有一個非常密切的比較。 :) –

回答

1

我會爲每個元素使用element.currentStylewindow.getComputedStyle(),然後'手動'讀取我想要的內容並覆蓋我確信在郵件應用程序中不起作用。

我在這裏做例子:http://jsfiddle.net/Vmc7L/

另一種方式,就是閱讀的規則形成的樣式表,然後將其應用到內嵌樣式。但是如果你有像.myClass:firstChild>.anotherClass那樣的選擇器呢? :D也許jquery可以提供幫助。

您需要的方法有:http://www.quirksmode.org/dom/w3c_css.html

+0

感謝您的答案。看起來不錯,並在IE中工作。我如何使用jQuery選擇器來實現這個? –

+1

那麼,第一種方法是獲取頁面上的每個元素,讀取其當前樣式,然後將其保存到'style'屬性。第二種方法是從樣式表中讀取每個CSS規則,找到匹配其選擇器的元素,然後將CSS應用於它們。 jQuery的幫助很多找到選擇器的元素,我做了一個例子:http://jsfiddle.net/w4fUE/ – atlavis

+0

謝謝老兄:)讚賞 –

0

這裏是解u可以使用「getElementsByClassName方法」 javascript函數來收集與指定的類名的元素。但請記住,這不適用於IE瀏覽器。所以對於IE你必須有你自己的功能。希望這可以幫助你。