我有一个允许用户在运行时更改主题的应用。
在加载新的 CSS 之前,这段代码删除了旧的 CSS:
jQuery('head > link').each(function () {
if (this.href.includes('styles/kendo.')) {
DOM.removeNode(this);
}
});
这对我来说看起来不错,但是当它运行时,有些东西坏了(不确定是什么),后来 CSS 无法正确加载。
如果我注释掉这段代码,那么 CSS 就可以正常加载了。对我来说没有意义。
也许有一种完全不同的方法可以更好地从 DOM 中删除 CSS?
最佳答案
代码中的一切看起来都很好,直到
jQuery('head > link').each(function () {
if (this.href.includes('styles/kendo.')) {
下一行 DOM.removeNode(this);
应该删除 HTML 元素,即 this
使用 DOM.removeNode
方法,它不是内置对象,因此我们不知道它是如何工作的,您应用程序中的库可能有该对象,因此您可能需要查看其文档。
如果我们的任务是从 DOM 中删除那个特定的 HTML 链接元素,我们可以使用 jQuery $.remove()
方法,
jQuery('head > link').each(function () {
if (this.href.includes('styles/kendo.')) {
$( this ).remove();
关于css - 如何从 DOM 中删除 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39422840/