gpt4 book ai didi

css - 卸载/删除动态加载的 css 文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:40 28 4
gpt4 key购买 nike

像这样加载一个 css 文件后:

const themes = ['dark-theme.css', 'light-theme.css'];
async function loadcss(file) {
return await import(file);
}
loadcss(themes[0]).then(console.log)

控制台输出对我来说是一个空对象,一个新的匿名 <style> 标签位于我的 index.html 的 中。到目前为止一切顺利,但如果我(在此示例中)想要将主题更改为 light-theme.css 怎么办?这将合并两个主题,因为 dark-theme.css 已经加载。

有没有办法从 DOM 中移除 <style> 标签?

为了进一步说明我的问题,提供的示例显示了一个抽象的行为,我只对从 DOM 中删除动态加载的 css 感兴趣。

最佳答案

我不了解 vue.js,但这是 React 中的简单示例,希望它能以某种方式提供帮助 :) 也许至少有一些想法 :)

class TodoApp extends React.Component {
static themes = {
dark: 'dark-theme.css',
light: 'light-theme.css',
};

render() {
return ReactDOM.createPortal(
(<link rel="stylesheet" href={TodoApp.themes.dark} type="text/css"></link>),
document.head
);
}
}

ReactDOM.render(<TodoApp />, document.querySelector("#app"))

http://jsfiddle.net/3y4hw2ox/

关于css - 卸载/删除动态加载的 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54078728/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com