用于在页面

时间:2015-08-18 06:54:33

标签: javascript jquery html css

我有一个单页的网络应用程序,我打算动态添加和删除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()该类的所有内容。

1 个答案:

答案 0 :(得分:0)

我正在回答我自己的问题。 <style>标记可能应该动态地添加和删除DOM,因为这会导致DOM流失。相反,您可以按照以下方式将样式标记设置为活动或非活动/启用/禁用:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style

想要添加&#39;似乎是完全合理的。和&#39;删除&#39;风格在飞行中。