如何使用JS来增加CSS样式的CLASS内容?

html-css015

如何使用JS来增加CSS样式的CLASS内容?,第1张

在页面内用JS操作CSS除非用AJAX,但操作页面内的样式的话,是可以的。操作样式分为改变直接样式,改变className和改变cssText三种

一、局部改变样式

调用方法:

改变className

<div

id="demo">测试</div>

<script>

document.getElementById('demo').className="test"

</script>

改变直接样式

<div

id="demo">测试</div>

<script>

document.getElementById('obj').style.backgroundColor="#003366"

</script>

二、全局改变样式

可以通过改变外链样式的的href的值实现网页样式的实时切换

<link

rel

=

"stylesheet"

type="text/css"

id="css"

href="firefox.css"

/>

<span

on

click="javascript:document.getElementById('css').href

=

'ie.css'">点我改变样式</span>

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动态建立或增加CSS样式表的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。