有没有办法使用DART动态地将CSS /样式片段插入DOM?

时间:2014-06-13 21:36:19

标签: dart

与关于将HTML片段加载到DOM中的一些其他Dart问题一样,我无法弄清楚如何使用我通过AJAX下载的CSS /样式片段做类似的事情。

尝试将其作为样式标记插入HTML只会产生以下消息:

Removing disallowed element <STYLE>  // note: original text is lower-case 'style'

1 个答案:

答案 0 :(得分:0)

在摆弄了上述问题一段时间后,我自己找到了解决方案。我在这里发布它,以防它帮助其他人,或者有人建议更好的方法。

我发现的问题是我将CSS样式元素作为“innerHtml”注入到DOM容器元素中 - 这被拒绝了。我发现如果我专门创建了一个样式标记元素,那么我可以将CSS作为“text”插入,如下所示:

此代码获取从AJAX服务器下载的HTML和CSS片段,然后将它们插入到主“screen”元素上的新元素中。在此示例中,HTML作为innerHtml插入到基本容器“div”元素中,CSS作为文本注入到样式元素中。然后它们都附加到父元素,并且风格化的HTML立即弹出屏幕。

var screen = querySelector('#myScreen');     
var container = new DivElement();
container.innerHtml = html;
var styleElement = new Element.tag('style');
styleElement.text = css;
screen.children.add(styleElement);
screen.children.add(container);