2011-08-24 99 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你必须有你自己的功能。希望这可以帮助你。