我通过 JavaScript 将一些样式表动态加载到我的应用程序中。在这个样式表中,我有不同的 CSS 变量,我想从我的 JS 中读取/写入。
直接嵌入在 head 标记中的样式表得到了正确处理。CSS 变量由 CSS 评估并在 JS 中可见。
在运行时动态加载的样式表确实有一些奇怪的错误。CSS 变量由 CSS 评估,但对 JS不可见。
有人有提示吗?
具有最小错误演示的 Plunker:
https://plnkr.co/edit/EChqjvZQJp7yz3L6nknU?p=preview
我用来动态加载 CSS 的方法:
var fileref = document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", "not_embedded_from_start.css");
document.getElementsByTagName("head")[0].appendChild(fileref);
我用来读取 CSS 变量的方法:
var cS = window.getComputedStyle(document.querySelector("html"));
var pV = cS.getPropertyValue('--foo');
示例 CSS:
:root {
--foo: green
}
#foo {
background-color: var(--foo);
}