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

时间:2013-07-30 10:39:18

标签: javascript jquery html css email

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

虽然这会为您提供该项目的所有样式属性。

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

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

答案 1 :(得分:0)

将HTML输出后,粘贴到链接到下方的工具中,然后在<link>前面加上CSS文件,它会自动内联所有相关的CSS。

MailChimp CSS Inliner

希望这有帮助。