到目前为止,此代码适用于Opera 11.64。它使第一个div成为带有绿色文本的红色框,第二个div成为带有黄色文本的蓝色框。
<div ID="square">square</div>
<div ID="rectangle">rectangle</div>
<script type="text/javascript">
var i={square:{bgc:"#F00",c:"#0F0"},rectangle:{bgc:"#00F",c:"#FF0"}};
var c={bgc:"backgroundColor",c:"color"};
for (x in i){
if (typeof(i[x]) == "object"){
for (y in i[x]){
document.getElementById(x)['style'][c[y]]=i[x][y];
}
}
}
</script>
我只想弄清楚这与网络浏览器的兼容性如何。它适用于IE7或netscape 7吗?
我问,因为我的目标是将花式样式从CSS格式转换为这个新的javascript代码,从而最大限度地减少下载生成相同网页所需的代码。
目前,我有很多CSS声明,例如:
#square{background:#000;color:#FFF}
#rectangle{background:#0FF;color:#000}
#somethingelse{background:#F0F;color:#000}
并且该代码中唯一改变的是值。单词&#34; background&#34;,&#34; color&#34;重复,这意味着每个声明将近15个浪费的字节。
我觉得通过将样式打包成这种格式可以节省数据:
var i={square:{bgc:"#F00",c:"#0F0"},rectangle:{bgc:"#00F",c:"#FF0"}};
所以我的问题是,如果我将样式切换为javascript可以生成它们而不是将它们声明为CSS样式表,IE7和netscape 7将无法处理内容吗?我想要一些适合每个人的东西,但同时减少不必要的字节数。
请指教。感谢。