【问题标题】:jQuery: Is there a way to grab a HTML element's external CSS and append to its "Style" attribute?jQuery:有没有办法获取 HTML 元素的外部 CSS 并附加到其“样式”属性?
【发布时间】:2015-07-23 09:46:42
【问题描述】:

基本上我想要做的是获取外部样式表中引用的所有 CSS,例如 <link rel="stylesheet" href="css/General.css"> 并将其附加到我页面中每个 HTML 元素的任何现有样式中。 (使所有 CSS 内联)

这是因为我需要调用.html() 来获取一个 div 并发送到服务器以制成 PDF。这个工具的缺点是它只能识别内联 CSS。

有没有办法做到这一点?

编辑:与我的“可能重复”相关的问题仅涉及将所有内容放在<style> 标签中。虽然这可能有用,但我主要关心加载到 style="" html 属性中

【问题讨论】:

标签: javascript jquery html css


【解决方案1】:

过去我曾为此使用过window.getComputedStyle(element);。它将返回应用于元素的所有样式的映射,然后您可以循环并应用为内联样式。如果可以避免的话,我不会将它们应用于实际的 DOM(只需创建一个文档片段/以您发送的字符串的样式连接它)。将这么多内联样式实际应用于一个元素将是一场性能噩梦。

使用计算样式可能还不够,因为在用户代理样式表中有供应商前缀样式。如果您将标记从 Firefox 发送到 PhantomJS(webkit),您显然不会得到相同的元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多