如何通过IE/FF将CSS规则添加到文档片段中
How do I add CSS rules to a document fragment across IE/FF?
我试图创建一个文档片段,然后对其进行样式设置,但遇到了不少困难。讽刺的是,IE不是我的问题!
我有这个:
var newDom = document.createDocumentFragment();
newDom.appendChild(document.createElement("style"));
newDom.appendChild(document.createElement("div"));
if (newDom.childNodes[0].styleSheet){
newDom.childNodes[0].styleSheet.cssText = "div{color:red;}";
alert(newDom.childNodes[1].currentStyle.color);
}else{
newDom.childNodes[0].appendChild(document.createTextNode("div{color:red;}"));
alert(window.getComputedStyle(newDom.childNodes[1], null).color);
};
它在IE7/8/9中警告"红色",但在FF3.0/4/10中警告"rgb(0,0,0)"。是的,我需要知道应用了什么样式,所以我需要阅读FF中的getComputedStyle(或者使用其他方法,只要它可靠)。
我做错了什么?这可能吗?(我想/希望如此…)
我试过很多东西,比如"newDom.styleSheets",它存在于IE中,但不存在于FF中,但都没有用。
请帮忙-谢谢!:D
在网上阅读,使用Javascript更改CSS的正确语法似乎是:
obj.style.cssText = 'something';
无论如何,这似乎并不能解决问题。我建议你阅读这篇文章,这可能会对你有所帮助:http://www.phpied.com/the-new-game-show-will-it-reflow/.
我还建议更改方法,将CSS代码放在预先存在的CSS样式表中,与.red-color
之类的类相关联,然后将该类放在新创建的div中,使用setAttribute('class', 'red-color')
。另一种选择是将样式设置为内联,始终使用相同的函数:setAttribute('style', 'color: red')
。
相关文章:
- 如何判断何时将dom节点添加到文档中
- 如何从 URL 数组向文档添加图像列表
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- PouchDB,如何在已经有附件的文档中添加新附件
- JS触发器值检查在文档加载后添加到页面的元素在加载时更改AND
- 如何以编程方式将内容脚本添加到 iframe 文档
- 是否有 jQuery 事件用于何时将元素添加到文档中
- 如何在猫鼬中更新文档后添加一些操作
- 使用单个HTML文档添加多个页面
- MongoDB:如何将这个散列添加到集合中的每个文档中
- 我该如何在旅途中添加一些段落,并将结果显示在带有段落标记的文档中
- 当我尝试添加文本效果时,有东西阻止了JavaScript的运行'手风琴'在html文档中
- 按标记名称将事件侦听器添加到所有文档子项
- 如何在HTML5文档中添加xml
- 使用JavaScript将自定义对象添加到文档中
- ABCPdf添加文档javascript
- 添加文档时,PouchDB 409冲突
- 在循环中向worklight jsonstore添加文档
- 通过javascript循环添加文档到ElasticSearch索引不工作
- 添加文档加载时无法检测复选框更改