javascript - 如何获取具有计算样式的 native DOM HTML 元素作为字符串?

标签 javascript html css angularjs

我有一个要求,我需要将表格 (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/

相关文章:

html - 网格内另一个 div 内的 div 的响应能力

html - 如何设置 HTML5 <meter> 标签的样式

html - 复选框元素搞砸了

javascript - 为什么 React 的 UI 组件没有更新?

javascript - htmx: onLoad: "on full page load"和 "on after swap"

javascript - 如何将标记放置在图像顶部,并根据图像给出标记的位置?

html - 改变 <tr> 中控件相对于其他控件的位置

javascript - dc.js/d3.js - 如果条形图的条形值等于零,如何隐藏条形图 x 轴类别值?

javascript - jQuery 将文本从 span 标签复制到另一个 span 标签

html - 多个标签/输入和标签/选择不使用 css 对齐/出现