您现在的位置是:首页 > 随笔小记 > 大收获
jQuery,javascirpt 动态修改样式
- 大收获
- 2018-11-27
- 人已阅读
jQuery动态设置样式(style、css)
一、jQuery设置css样式1、用css()方法返回元素的样式属性<div style="background-color:#ffffff;padding-left:10px;">测试jQuery动态获取padding-left</div>
2、用css()设置样式$("div").css("padding-left"));
3、设置多个样式$("div").css("color","yellow");
$("div").css({"background-color":"yellow","font-size":"200%"});
var css = {
background-color: '#EEE',
height: '500px',
margin: '10px',
padding: '2px 5px'
};
$("div").css(css);
javascirpt动态设置样式(style、css)
在很多情况下,都需要对网页上元素的样式进行动态的修改。在JavaScript中提供几种方式动态的修改样式,下面将介绍方法的使用、效果、以及缺陷。
1、使用obj.className来修改样式表的类名。
2、使用obj.style.cssTest来修改嵌入式的css。
3、使用obj.className来修改样式表的类名。
4、使用更改外联的css文件,从而改变元素的css
下面是一段html代码和css代码用来解释上面方法的区别的。
CSS
.style
1
{
margin
:
10px
auto
;
background-color
:
#9999FF
;
display
:
block
;
color
:White;
border
:
1px
solid
white
;
padding
:
10px
25px
;
font-size
:
18px
; }
.style
1:
hover{
background-color
:
#66B3FF
;
cursor
:
pointer
;}
.style
2
{
margin
:
10px
auto
;
background-color
:
gray
;
display
:
block
;
color
:
black
;
border
:
1px
solid
white
;
padding
:
10px
25px
;
font-size
:
18px
; }
.style
2:
hover{
background-color
:
black
;
color
:White;
cursor
:
pointer
}
HTML
<
div
>
<
input
id
=
"btnB"
type
=
"button"
name
=
"btnLogin"
value
=
"登录"
class
=
"style1"
/>
<
div
id
=
"tool"
>
<
input
type
=
"button"
value
=
"【obj.style.className】更改样式"
onclick
=
"changeBackgroundColor()"
/>
<
input
type
=
"button"
value
=
"【obj.style.cssText】更改样式"
onclick
=
"changeFontSize()"
/>
<
input
type
=
"button"
value
=
"【obj.className】更改样式"
onclick
=
"addRadius()"
/>
<
input
type
=
"button"
value
=
"更改外联css样式"
onclick
=
"recover()"
/>
</
div
>
</
div
>
方法一、使用obj.className来修改样式表的类名
从下面的代码可以看出ob.style.cssTest是如何来btnB的样式的。
function
changeStyle1() {
var
obj = document.getElementById(
"btnB"
);
obj.style.backgroundColor=
"black"
;
}
该段代码修改btB的文字的颜色,在浏览器中打开调试工具,可以发现btB标签中多了一个属性【style="内联式>外联式。而btB的hove伪类的background-color样式写在内联式中,所以嵌入式的background-color覆盖了伪类中,这就使得鼠标放入btB上感觉不到背景颜色的变化。
方法二、使用obj.style.cssTest来修改嵌入式的css
直接上JavaScript代码:
function
changeStyle2() {
var
obj = document.getElementById(
"btnB"
);
obj.style.cssText = " display:block;color:White;
}
该段代码和【一】中的效果是一样的,缺陷也是一样。
方法三、使用obj.className来修改样式表的类名
使用代码来修改btB引用样式的类名,如下段代码:
function
changeStyle3() {
var
obj = document.getElementById(
"btnB"
);
//obj.className = "style2";
obj.setAttribute(
"class"
,
"style2"
);
}
通过更改btB的css的类名的方式来更改样式,更改样式类名有两种方式。1、obj.className = "style2"; 2、 obj.setAttribute("class", "style2");都是一样的效果。
用这种方式来修改css比上面的效果要好很多。
方法四、使用更改外联的css文件,从而改变元素的css
通过更改外联的css文件引用从而来更改btB的样式,操作很简单。代码如下:
首先得引用外联的css文件,代码如下:
<link href=
"css1.css"
rel=
"stylesheet"
type=
"text/css"
id=
"css"
/>
function
changeStyle4() {
var
obj = document.getElementById(
"css"
);
obj.setAttribute(
"href"
,
"css2.css"
);
}
这样也能方便的更改btB的样式,个人觉得这种方式是最好用的,是实现整体页面换肤的最佳方案。
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:付博瀚
来源:付博瀚个人博客
链接: https://www.fubohan.com/