我有一个单页的网络应用程序,我打算动态添加和删除CSS <style></style>
标签,用于需要并且不需要某些样式的网页。我不想让样式重叠或者必须调试奇怪的问题,所以为了简单起见(甚至可能更快的渲染),我想删除不属于当前视图的样式表。
我在考虑使用这样的结构:
<html>
<head>
<!-- this linked stylesheet is for all pages, so it is non-ephemeral -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<special> <!-- this block houses ephemeral stylesheets -->
<!-- remove all the stylesheets from this block everytime there's a view -->
<!-- change and then add only the stylesheets that pertain to the current view here as well -->
<style class='temporaryCSS"> xyz </style>
</special>
</head>
<body>
</body>
</html>
所以基本上,可能有一个特定/特殊的块,我删除每个视图更改上的所有CSS标记。关于自定义块的好处是它可以快速指定临时/短暂样式表所在的位置。所以我的问题是,(1)我可以为此创建自己的标记,例如<special>
,还是应该使用带有ID的<div>
(看起来好主意,因为divs用于视觉效果而不是元数据)或者我应该给所有临时CSS标签一个类属性,如&#34; temporaryCSS&#34;? (2)我应该将临时工作表放在<head>
还是<body>
? (3)也许我这样做错了?
之前有人试过这样的事吗?
为类标签使用类的好处是我可能只使用jQuery选择器和.remove()
该类的所有内容。
答案 0 :(得分:0)
我正在回答我自己的问题。 <style>
标记可能应该不动态地添加和删除DOM,因为这会导致DOM流失。相反,您可以按照以下方式将样式标记设置为活动或非活动/启用/禁用:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style
想要添加&#39;似乎是完全合理的。和&#39;删除&#39;风格在飞行中。