笔记:JS设置CSS样式的几种方式

JavaScript017

笔记:JS设置CSS样式的几种方式,第1张

1、直接更改,比如:

xID.style.display = "block" // 更改display属性,会覆盖css中的定义。

xID.style.display = ""      // 取消js更改display属性,以css样式为准。

这里的xID,是通过id获取的标签。当然,也可能是通过tagName之类的获取的标签。

这种方式,简单直接。但是要修改大量的样式的时候,不适合。所以,我更推荐第二种方式。

2、更改类名

xID.className = "xx   yy"

如果有多个类,就用空格隔开。前提,在样式中要有已有类的定义。比如这里的xx和yy类,在css中应该是写好的。

这种方式把所有的样式写在了css文件中,适合更改较多的样式以及炫酷的样式。js就只做一件事情:改类。至于这个类会把标签变成什么样子,交给css吧。

通过jquery也可以达到如上的效果:

$("#xID").css({

  fontSize:"12px",

  display:"block"

})  // 直接更改样式

$("#xID").addClass("xx")  // 增加删除类

$("#xID").removeClass("xx")

var domObj = document.getElementById("tagId")

//使用domObj.style来设置css:

domObj.style.backgroundColor="#000"//对应style里 background-color

domObj.style.fontSize="#000"//对应style里 font-size

//如果对这个表不太清楚可以在w3c上查一下

//但是一般有个规律就是,首单词小写 “-”后面的第一个字母大写,如:font-size 就是fontSize

如果是想更换标签的class的话,可以使用

domObj.className = "other_class"

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)"

以上内容是百度出来的