用JS给div添加样式是通过js操作css来实现的。
用js方法找到div的dom对象
通过js操作css的style属性来改变div的样式
具体举例如下:
定义div:<div id="myDiv" style="color:red">改变样式测试</div>
编写js代码:
var color = document.getElementById("myDiv").style.color
if (color == "red")
document.getElementById("myDiv").style.color="black"
else
document.getElementById("myDiv").style.color="red"
执行js代码后,div原来是红色会变成黑色,原来是别的颜色会变成红色
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")
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)"
以上内容是百度出来的