我有一个要求,我需要将表格 (UI) 作为电子邮件发送,我尝试通过执行没有样式的 document.querySelector('table') 来获取 native HTML DOM 元素。现在,电子邮件应该看起来像 UI,但在我的例子中,我可以看到没有样式的 UI。我尝试通过运行此命令 window.getComputedStyle(document.querySelector('table')) 获取计算样式,它为“table”提供计算样式。
这是我的
var obj={};//使用 REST API 发送的对象, obj.to="toEmail@abc.com",//收件人 obj.body=document.querySelector('table')//它给出了没有样式的原生 DOM HTML 代码,我想要 HTML 代码和样式。
现在,我知道运行 getComputedStyle 将获取当前样式,但如何同时执行它们并将整个内容(HTML 代码和样式)作为字符串返回?非常感谢任何帮助。
我的应用程序是在 angularjs 1.4 中
最佳答案
首先,出于安全原因,电子邮件服务会屏蔽主要的 css 样式,因此您必须进行大量测试才能获得良好的解决方案,您在浏览器中使用的 css 样式被接受的可能性很小他们。 最好的解决方案是将样式直接放在带有样式属性的元素标签上。
我的建议是手动为您的表找到一个可行的解决方案,然后以编程方式将您的样式添加到使用 document.querySelector('table') 获得的表中
或者,您可以应用 XSL 转换,但我不知道它是否更简单。
关于javascript - 如何获取具有计算样式的 native DOM HTML 元素作为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46348989/