从网页卸载CSS

我想知道如何从一个页面卸载一个CSS。 例如在我的页面中,我包含一个名为a.css的文件。 现在我想要用户能够改变主题,这是CSS驱动的,因此他/她应该能够卸载a.css,然后我可以加载b.css(否则他们会冲突)

任何想法如何去做呢?

采取链接元素,并禁用它

document.getElementsByTagName('link')[0].disabled = true; 

用jQuery,这个工程:

 $("link[href='fileToRemove.css']").remove(); 

显然,将fileToRemove.cssreplace为要卸载的文件的相对path和文件名。

 var firstLink = document.getElementsByTagName('link')[0]; firstLink.parentNode.removeChild(firstLink) 

这将删除页面上的第一个链接元素 – 不知道如何你的HTML结构,但我相信你可以用它作为一个例子。 你可能想要检查type属性,如果它是'text / css',并且你的目标是正确的媒体(屏幕),或者可能检查如果你有其他链接元素不是css引用。

请注意,您也可以重新设置href属性来指向不存在的页面,而不是完全删除元素。

奇怪的是,IE和Firefox支持disabled属性,但不支持chrome,safari或opera。 所以,这应该是最多的浏览器。

 // disables all styles in the document function unload_stylesheet(DOMelement){ DOMelement.disabled = true; DOMelement.parentNode.removeChild( DOMelement ); } // usage unload_stylesheet( document.getElementsByTagName('link')[0] );