IT人
相关图书

超级菜问题,怎么检查css样式有没定义?

所属分类:Web 开发 HTML(CSS)
-----------------------------------------

<style>
.xx {
color:#ffffff;
}
</style>
<div id="x"></div>
<script language="JavaScript">
<!--
var o = document.getElementById("x");
o.className = "xx";
alert(o.style.cssText);//不对!!!!!!!!!!!!!
//-->
</script>

----------------------------------------------------------------------

你都已经写出来了:就是className

--------------------------------------------------------

<script language="JavaScript">
<!--
var o = document.getElementById("x");
o.className = "cccccc";
alert(o.style.cssText);//不对!!!!!!!!!!!!!
//-->
</script>


就是要知道样式  cccccc 有没有定义啊


--------------------------------------------------------

[个人意见,仅供参考]

//注意1:加上<body>,否则document.getElementById无效
//注意2:用正则。


<style>
.xx {
color:#ffffff;
}
</style>

<body>
<div id="x"></div>
</body>

<script language="JavaScript">
<!--
try{
var o = document.getElementById("x");
o.className = "xx";
//alert(o.style.cssText);//不对!!!!!!!!!!!!!
var str = document.styleSheets[0].cssText.match(/\{((.|\n)*)\}/)[1].replace(/[\t\s] /g, "");
alert(str);

}
catch(e){
alert(e.message);
}
//-->
</script>

--------------------------------------------------------

css样式多性能有点影响。
可惜里面的 .style1 不是对象。否则能直接读就好了

--------------------------------------------------------

css样式中以.开头定义的应该是"类"吧,如果定义id应该是#开头吧!
<style>
.xx {
color:#ffffff;
}
</style>
改成
<style>
#xx {
color:#ffffff;
}
</style>试试

--------------------------------------------------------

#xx 这样也不行。

<link id="style1" href="css.css" type="text/css" rel="stylesheet">

现在是用个外部链接,里面的CSS分开几个文件写。加个ID判断下

for(var i = 0; i < document.styleSheets.length; i ++)
if(document.styleSheets[i].id == "style1"){
///
}

--------------------------------------------------------

alert(document.styleSheets["style1"].rules[0].style.cssText);
//rules[这里不能用 "style1"]

--------------------------------------------------------

firefox就晕了。一定要for循环。还要两次
而且不持id,倒支持title

<link title="style1" href="css.css" type="text/css" rel="stylesheet">
for(var i = 0; i < document.styleSheets.length; i ++){
if(document.styleSheets[i].title == "style1"){
for(var j = 0; j < document.styleSheets[i].cssRules.length){
alert(document.styleSheets[0].cssRules[j].cssText);
}
}
}
相关问题
    Copyright ◎ 1998 - 2007 编程资料网 All Rights Reserved