在IE7 w/jQuery中修改样式块

在IE7 w/jQuery中修改样式块,jquery,css,internet-explorer-7,styles,dhtml,Jquery,Css,Internet Explorer 7,Styles,Dhtml,我让用户通过给他们一个带有CSS代码的可编辑文本区域来更新可定制小部件的样式,该CSS代码更新元素onchange JS: HTML: ... ... 这适用于Chrome、Firefox和IE9,但不适用于IE7 你知道怎么在那里工作吗?这很不幸,但我们是B2B,需要IE7支持 提前感谢。不要更新样式表,而是将其从DOM中删除并插入一个新的样式表。这将触发页面的完全重新呈现。将样式表从DOM中删除并插入新样式表,而不是更新样式表。这应该会触发页面的完全重新呈现。我知道这很有技巧,但是为什么

我让用户通过给他们一个带有CSS代码的可编辑文本区域来更新可定制小部件的样式,该CSS代码更新
元素
onchange

JS:

HTML:


...
...
这适用于Chrome、Firefox和IE9,但不适用于IE7

你知道怎么在那里工作吗?这很不幸,但我们是B2B,需要IE7支持


提前感谢。

不要更新样式表,而是将其从DOM中删除并插入一个新的样式表。这将触发页面的完全重新呈现。

将样式表从DOM中删除并插入新样式表,而不是更新样式表。这应该会触发页面的完全重新呈现。

我知道这很有技巧,但是为什么不直接使用内联CSS为可定制的小部件设置样式呢?因为样式表更易于用户阅读/更新。这个小部件有很多CSS(~100行)和很多类。我知道它很粗糙,但是为什么不直接用内联CSS为可定制的小部件设计样式呢?因为样式表更容易让用户阅读/更新。这个小部件有很多CSS(~100行)和很多类。
function updateWidgetStyling() {
    $("#stylePreview").html( $('#WidgetviewCustomCSS').val() );
}
<style id="stylePreview">
...
</style>

<textarea name="data[Widgetview][customCSS]" cols="30" rows="6" 
onchange="updateWidgetStyling()" id="WidgetviewCustomCSS">...</textarea>