JS中读取元素样式的方法

本文介绍了浏览器中获取元素样式的两种方法:getComputedStyle和currentStyle。getComputedStyle适用于IE9及以上浏览器,能获取所有样式的当前值,而currentStyle是IE特有,返回元素的内联样式。两者都只读,修改样式需通过style属性。注意,currentStyle在非IE浏览器中不被支持。
摘要由CSDN通过智能技术生成

通过getComputedStyle或者currentStyle获取的元素属性都是不能进行修改的,只能读,想要修改只能通过style属性

  1. getComputedStyle(),这个方法只可以在ie9及以上的浏览器中使用,它可以读取元素的当前样式,用法如下:

    getComputedStyle(要获取样式的元素,null);
    
    • getComputedStyle()方法需要两个参数,第一个是要获取元素对应的样式,第二个参数可以传递一个伪元素,一般都会传递一个null。
    • getComputedStyle()方法会返回一个对象,对象里封装的是获取元素的所有,需要读取具体的哪个样式只要:getComputedStyle().样式名,即可进行获取。如果读取的样式没有设置值,则会放回其真实的值,而不是默认值。
  2. 使用currentStyle可以读取到属性的当前样式,但是这个方法只有ie浏览器支持,其他的浏览器不兼容,用法如下:

    box.currentStyle.width;//获取当前的样式
    
  • 这个方法在读取元素的样式的时候,如果元素本身没有设置要读取的样式,则会返回这个样式的默认值,比如:在读取元素的width的时候,如果没有设置width,则会返回auto。注意:这个属性只能读取元素的内联样式,也就是说,在读取之前要给读取的元素设置内联样式才能成功读取。

如果不在ie浏览器里面运行,会报如下错误

这个错误是浏览器不兼容的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript不能直接读取修改本地CSS文件,因为浏览器的安全机制禁止JavaScript访问本地文件系统。但是,可以通过以下几种方式来读取修改CSS样式: 1. 通过JavaScript操作DOM元素的style属性来修改元素的内联样式。例如: ``` // 获取元素 var element = document.getElementById('my-element'); // 修改元素的内联样式 element.style.color = 'red'; element.style.backgroundColor = 'blue'; ``` 这种方式只能修改元素的内联样式,无法修改外部CSS文件样式。 2. 通过JavaScript创建和添加`<style>`元素,来动态插入CSS样式。例如: ``` // 创建<style>元素 var style = document.createElement('style'); // 设置<style>元素的类型和样式 style.type = 'text/css'; style.innerHTML = '#my-element { color: red; background-color: blue; }'; // 将<style>元素添加到<head>元素 document.head.appendChild(style); ``` 这种方式可以动态添加CSS样式,但无法修改外部CSS文件样式。 3. 使用JavaScript库或框架,来动态修改CSS样式。例如,使用jQuery库的css()方法: ``` // 获取元素 var $element = $('#my-element'); // 修改元素的CSS样式 $element.css('color', 'red'); $element.css('background-color', 'blue'); ``` 这种方式可以方便地修改元素的CSS样式,但需要引入第三方库或框架。 无论采用哪种方式,都不能直接读取修改本地CSS文件,只能通过操作DOM元素或动态插入CSS来实现修改样式的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值