javascript如何添加css类

html-css016

javascript如何添加css类,第1张

JavaScript动态建立或增加CSS样式表,参考如下:

1、简单的方法:

document.createStyleSheet().cssText = '标签{color:red' +  

    // 这个注释只在当前JS中帮助理解,并不会写入CSS中  

    'width:300pxheight:150px}' +  

    '.类名{……}' +  

    '#ID们{……}'

2、比较完美的方法,防止重复添加,通过添加样式表ID并对其判断来实现:

if (!document.styleSheets['要建立的样式表ID如theforever']) { //先检查要建立的样式表ID是否存在,防止重复添加  

 var ss = document.createStyleSheet()  

 ss.owningElement.id = '要建立的样式表ID如theforever'  

 ss.cssText = '标签{display:inline-blockoverflow:hidden' +  

  // 这个注释只在当前JS中帮助理解,并不会写入CSS中  

  'text-align:leftwidth:300pxheight:150px}' +  

  '.类名{……}' +  

  '#ID们{……}'  

   

}

JavaScript访问修改样式表,可以方便的动态修改页面:

一、访问元素中style属性的CSS样式

这个可以直接使用style对象方便的访问,例如:

<div id = "mdiv" style="background-color:blue">....</div>

访问CSS的方法是:

<script type="text/javascript">

//获得元素

var oDiv = document.getElementyId("mdiv")

//访问元素的style对象,再访问对象中的属性,也可以修改属性的值,直接为他赋值

alert(oDiv.style.backgroundColor)

</script>

二、访问外部定义的CSS样式(类定义的CSS样式)

这个没法使用上面的方法去访问,因为CSS数据不是存储在style属性中,它是存储在类中的。

访问方法:先取得定义类的样式表的引用,用document.styleSheets集合实现这个目的,这个集合包含HTML页面中所有的样式表,DOM为每个样式表定义一个cssRules的集合,这个集合中包含定义在样式表中的所用CSS规则(注意:Mozilla和Safasi中是 cssRules,而IE中式rules)。

例如:

<style>

/*第一条规则*/

div.ss{

background-color:red

width:101px

}

/*第二条规则*/

a.btn2{

background:url(imag/2-AccessCtl.jpg)

}

</style>

访问CSS:

var ocssRules = document.styleSheets[0].cssRules||document.styleSheets[0].rules

//访问第一条规则

alert(ocssRules[0].style.backgroundColor)

//设置值

ocssRules[0].style.width = "992px"

//访问第二条规则

alert(ocssRules[1].style.background)

//设置值

ocssRules[0].style.background = "url(imag/3-back.jpg)"

以上内容是百度出来的