首页 > 编程知识 正文

js批量修改css,js批量修改样式

时间:2023-12-26 02:46:17 阅读:322426 作者:KZVG

本文目录一览:

js修改样式css有哪些方法呢?

修改样式

document.getELementById('div').style.fontSize = "20px";

修改写好的类样式

document.getELementById('div').className = "div";

如何用js修改已加载的多个css样式表样式

js是无法直接修改css文件的,但可以通过取对象的方式修改对象的样式,通常有两种方法:

1、改变className,但首先在样式表中预设定样式类。

例如:document.getElementById('obj').className='...';

2、改变cssText。

例如:document.getElementById('obj').style.height='100px';

~如果你认可我的回答,请及时点击【采纳为满意回答】按钮

~~手机提问的朋友在客户端右上角评价点【满意】即可。

~你的采纳是我前进的动力

~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。

js中巧用cssText属性批量操作样式

给一个HTML元素设置css属性,如

复制代码

代码如下:

var

head=

document.getElementById("head");

head.style.width

=

"200px";

head.style.height

=

"70px";

head.style.display

=

"block";

这样写太罗嗦了,为了简单些写个工具函数,如

复制代码

代码如下:

function

setStyle(obj,css){

for(var

atr

in

css){

obj.style[atr]

=

css[atr];

}

}

var

head=

document.getElementById("head");

setStyle(head,{width:"200px",height:"70px",display:"block"})

发现

Google

API

中使用了cssText属性,后在各浏览器中测试都通过了。一行代码即可,实在很妙。如

复制代码

代码如下:

var

head=

document.getElementById("head");

head.style.cssText="width:200px;height:70px;display:bolck";

和innerHTML一样,cssText很快捷且所有浏览器都支持。此外当批量操作样式时,cssText只需一次reflow,提高了页面渲染性能。

但cssText也有个缺点,会覆盖之前的样式。如

复制代码

代码如下:

div

style="color:red;"TEST/div

想给该div在添加个css属性width

复制代码

代码如下:

div.style.cssText

=

"width:200px;";

这时虽然width应用上了,但之前的color被覆盖丢失了。因此使用cssText时应该采用叠加的方式以保留原有的样式。

复制代码

代码如下:

function

setStyle(el,

strCss){

var

sty

=

el.style;

sty.cssText

=

sty.cssText

+

strCss;

}

使用该方法在IE9/Firefox/Safari/Chrome/Opera中没什么问题,但由于

IE6/7/8中cssText返回值少了分号

会让你失望。

因此对IE6/7/8还需单独处理下,如果cssText返回值没";"则补上

复制代码

代码如下:

function

setStyle(el,

strCss){

function

endsWith(str,

suffix)

{

var

l

=

str.length

-

suffix.length;

return

l

=

str.indexOf(suffix,

l)

==

l;

}

var

sty

=

el.style,

cssText

=

sty.cssText;

if(!endsWith(cssText,

';')){

cssText

+=

';';

}

sty.cssText

=

cssText

+

strCss;

}

相关:

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 要获取的样式名

JS 动态修改CSS 样式方法/全局

如何配置自行百度

1.scss文件定义变量

2.js中更改$textColor 变量的值

都是获取DOM

通过DOM分别修改当前DOM样式属性值、

当前DOM整体css样式、

修改当前DOM的className类名、

将link引入的标签作为DOM 修改link的href,从而修改引用的样式表。

详情转自:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。