jQuery.html()并注入内联CSS样式

jQuery .html() and inject inline CSS styles?

本文关键字:CSS 样式 注入 html jQuery      更新时间:2023-09-26

下面的代码从表中提取HTML,并将内容注入HTML电子邮件中。

var content = $j('#product_comparison').html();

这种方法的问题是,HTML电子邮件失去了样式,因为原始表引用了外部样式表,而我对HTML电子邮件的理解是,所有样式都应该是内联的,而不是在<style>标记外部或内部引用。

是否有任何Javascript/jQuery方法可以创建包含内联样式的HTML,从而使结果正确显示在HTML电子邮件中?

好吧,如果你想要一种粗糙但快速的方法来实现这一点,你可以按照以下步骤将一个特定元素的样式属性设置为其所有计算样式:

$('#my-div').css(window.getComputedStyle(document.getElementById('my-div')));

尽管这将为该项目提供所有样式属性。

当然,您不能简单地使用.html()方法,您需要单独克隆每个元素。

http://jsfiddle.net/QfN6N/1/

一旦你拿出HTML,粘贴到链接到下面的工具中,在CSS文件前面加一个<link>,它会自动内联所有相关的CSS。

MailChimp CSS Inliner

希望这能有所帮助。