本文目录一览:
- 1、js如何直接修改css里面的属性值呢?
- 2、笔记:JS设置CSS样式的几种方式
- 3、如何用JS修改已加载的CSS样式表样式?
- 4、JS修改CSS设置的样式
- 5、如何使用jquery修改css中带有,important的样式属性
js如何直接修改css里面的属性值呢?
样式优先级
如果不能通过标签覆盖,可以在body上定义id 通过ID来改样式,js尽量放在底部
笔记:JS设置CSS样式的几种方式
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");
如何用JS修改已加载的CSS样式表样式?
js是无法直接修改css文件的,但可以通过取对象的方式修改对象的样式,通常有两种方法:
1、改变className,但首先在样式表中预设定样式类。
例如:document.getElementById('obj').className='...';
2、改变cssText。
例如:document.getElementById('obj').style.height='100px';
JS修改CSS设置的样式
语法:元素.style.样式名=样式值
注意:如果CSS的样式名中含有-,这种名称在JS中是不合法的,比如 background-color 。需要将这种样式名修改为驼峰命名法:去掉-,然后将-后的第一个字母大写,比如 backgroundColor
我们通过style属性设置的样式都是内联样式,而内联样式有较高的优先级,所以通过JS修改的样式往往会立即显示
但是如果在样式中写了!important,则此时样式会有最高的优先级,即使通过JS也不能覆盖该样式,此时将会导致JS修改样式失效
所以尽量不要为样式添加!important
语法:元素.style.样式名
通过style属性设置和读取的都是内联样式,无法读取样式表中的样式
语法:元素.currentStyle.样式名
如果当前元素没有设置该样式,则获取它的默认值
例如: box1.currentStyle.width
这个方法是window的方法,可以直接使用需要两个参数
第一个:要获取样式的元素
第二个:可以传递一个伪元素,一般都传null
该方法会返回一个对象,对象中封装了当前元素对应的样式
可以通过对象﹒样式名来读取样式
如果获取的 样式没有设置 ,则会获取到真实的值,而不是默认值
比如:没有设置width,它不会获取到auto,而是 一个长度
注意:通过currentStyle和getComputedstyle()读取到的样式都是只读的,不能修改,如果要修改必须通过style属性
参数:
obj 要获取样式的元素
name 要获取的样式名
如何使用jquery修改css中带有,important的样式属性
代码如下:
!DOCTYPE html
html
head
meta charset="utf-8" /
titleTest/title
script src="" type="text/javascript" charset="utf-8"/script
style
.test1{
color:red !important;
}
/style
/head
body
div class="test1"这是一个测试!/div
br /
br /
button class="test2"change/button
script
$(function() {
$(".test2").off("click").on("click",function(){//点击按钮改变字体颜色和大小
$(".test1").css("cssText","color:blue !important;font-size:40px;");
});
});
/script
/body
/html
望采纳~!