style、currentStyle、getComputedStyle()区别

Windows通过VMware虚拟机部署Claude Science科研AI助手完整指南 虚拟机技术通过在物理计算机上创建隔离的虚拟环境,实现了操作系统层面的资源隔离与灵活配置。其核心原理是利用虚拟化监控程序(Hypervisor)在硬件与操作系统之间建立抽象层,从而允许多个操作系统实例共享同一套物理资源。这种技术为Windows用户带来了显著价值,特别是在运行Linux专属应用时,既能保持宿主系统的稳定性,又能获得完整的Linux环境体验。在AI科研领域,虚拟机方案解决了Windows系统与Linux专属工具(如Claude Science)的兼容性问题。通过VMware等虚拟化平台,科研人员 阅读详情

JS 获取 html元素的样式有三种方式:style、getComputedStyle 和 currentStyle等。区别在于:

(1)style 只能获取行间样式,但能设置样式。

(2)getComputedStyle 和 currentStyle 能够获取 行间样式/非行间样式/浏览器默认样式,但存在浏览器兼容问题,且不能设置样式。

一、element.style 获取行间样式,以及设置样式

<!DOCTYPE HTML>  
<html lang="zh-cn">  
<head>  
<meta charset="utf-8" />  
<title>Javascript</title>  
<style>  
*{margin: 0;padding: 0;}  
#box{width: 100px;height: 100px;margin-left: 100px;}  
</style>  
</head>  
<body>  
<div id="box" style="background-color:#ccc;margin-top:100px;"></div>  
<script>  
window.onload = function(){   
    var oBox = document.getElementById('box');  
        console.log(oBox.style.width);          //结果为:100px  
    console.log(oBox.style.background); //结果:rgb(204,204,204),但ie下为空  
    console.log(oBox.style.backgroundColor); //结果:rgb(204,204,204)或#ccc  
    console.log(oBox.style.margin);     //结果为空  
    console.log(oBox.style.marginTop);  //结果:100px  
    oBox.style.height = '120px';        //设置样式  
}  
</script>  
</body>  
</html>  

style总结:
(1)对于复合属性(如background),假设行间设置了样式:background-color:#333,不能通过 element.style.background 来获取(见上面例子)。

(2)css属性使用驼峰法,如 backgroundColor、marginTop等。

(3)不同浏览器,一些 css 属性值可能会发生转换,如例子中的 background-color,标准浏览器会转换为 rgb 形式。

二、getComputedStyle 获取css属性值

<!DOCTYPE HTML>  
<html lang="zh-cn">  
<head>  
<meta charset="utf-8" />  
<title>Javascript</title>  
<style>  
#box{width: 100px;height: 100px;margin-left: 100px;}  
</style>  
</head>  
<body>  
<div id="box" style="background-color:#ccc;margin-top:100px;"></div>  
<script>  
window.onload = function(){   
    var oBox = document.getElementById('box');  
    var a = getComputedStyle(oBox, null)['width']; // 100px  
    var b = getComputedStyle(oBox, null).getPropertyValue('backgroundColor'); //chrome为null, ie为空  
    var c = getComputedStyle(oBox, null)['backgroundColor'];// rgb(204,204,204)  
    var d = getComputedStyle(oBox,null)['padding'];// chrome为0px, ie为空  
    console.log(a, b, c, d);  
}  
</script>  
</body>  
</html>  

getComputedStyle总结:

(1)标准浏览器,ie9+以上支持 getComputedStyle。

(2)对于复合属性:使用 getPropertyValue 获取属性值时,不能使用驼峰写法,如:例子中的 getpropertyValue(‘backgroundColor’) 无法正确获得值,而必须写成 background-color。

(3)另外,以下写法也正确:getComputedStyle(oBox, null)[‘backgroundColor’]、getComputedStyle(oBox, null)[‘background-color’], 以及 getComputedStyle(oBox, null).backgroundColor 等。

(4)当没有设置某个属性值时,chrome 会读取浏览器该属性的默认值,而 ie9+ 下结果为空。如例子中的 padding。

(5)getComputedStyle 第二个参数为”伪类“,一般用不着,设置为 null 即可。

三、IE 下 currentStyle 获取css 属性值

还是上面的例子:

<script>  
window.onload = function(){   
    var oBox = document.getElementById('box');  
    var a = oBox.currentStyle['width']; // 100px  
    var b = oBox.currentStyle['background-color'];  // #ccc  
    var c = oBox.currentStyle['backgroundColor'];   // #ccc  
    var d = oBox.currentStyle.backgroundColor;     // #ccc  
    //var e = oBox.currentStyle.background-color;  错误  
    var e = oBox.currentStyle['padding'];       // 0px  
    console.log(a, b, c, d, e);  
}  
</script>  
currentStyle 总结:

(1)只在 IE 下支持(网上 opera 也支持,但未测)。

(2)注意 ['backgroundColor']、['background-color'] 和 .backgroundColor 等写法。

(3)未设置的属性值,currentStyle 会读取浏览器默认值,如例子中的 padding。

四、不同浏览器下,获取 css 属性值 的兼容写法

1.style:各大浏览器都兼容,能设置样式和获取样式,但是获取不了外部样式,如果写了行内没有的样式,返回的是空值
2. currentStyle:该属性只兼容IE,不兼容火狐和谷歌
3. getComputedStyle:该属性是兼容火狐谷歌,不兼容IE
所以综为以下写法

function getStyle(oElement, cssName){  
    return oElement.currentStyle ? oElement.currentStyle[cssName] : getComputedStyle(oElement, null)[cssName];  
}  

说明:在IE中获取到的颜色是16进制的,在火狐谷歌中获取的颜色是rgb模式的

参考网址:http://blog.youkuaiyun.com/lzding/article/details/46317777

JavaScript获取元素样式的方法 在JavaScript中,我们经常需要获取元素的样式信息,比如元素的宽度、高度、颜色等。根据实际需求选择合适的方法来获取元素样式,可以帮助我们在JavaScript中更好地操作和处理页面元素。我们可以通过访问对象的属性来获取对应的样式值。如果想获取元素的计算样式,包括内联样式和外部样式表中定义的样式,可以使用。属性只能获取内联样式,无法获取外部样式表或者内嵌样式表中定义的样式。属性返回一个对象,包含了元素的内联样式属性及其对应的值。属性返回一个对象,包含了元素的计算样式属性及其对应的值。 阅读详情

相关推荐

style、 currentStyle、 runtimeStyle区别分析

style、 currentStyle、 runtimeStyle区别分析,需要的朋友可以参考下。

JavaScript之Style对象与CurrentStyle对象

1、Style对象 style对象代表一个单独的样式声明,可以从应用样式的文档元素访问Style对象。style对象获取的是内联样式,即元素标签中style属性的值。 例子: &lt;style type="text/css"&gt;#div{color:gray;}&lt;/div&gt;//内部样式 &lt;div id="div" style="color:red;"&gt;&l

笺赕 2万+

深入解析Gerber RS274X文件格式:从基础语法到实战应用

本文深入解析PCB制造的核心标准Gerber RS274X文件格式,详细介绍了其基础语法、坐标系统、功能码以及嵌入式光圈定义等关键特性。通过实战案例演示了如何解析和手写Gerber指令,并总结了常见错误与调试技巧,帮助PCB工程师掌握这一与制造工厂沟通的“通用语言”,确保设计准确无误地转化为实体电路板。

weixin_29252171的博客 94

JavaScript--currentStyle和getComputedStyle()的区别和联系

需要注意的是,无论是currentStyle还是getComputedStyle()返回的样式值都是字符串形式,如果需要获取具体的数值,可以使用相关的方法进行转换(例如parseInt())。该函数接受两个参数:element代表要获取样式的元素,styleProperty代表要获取的样式属性。JavaScript中的currentStyle和getComputedStyle()都是用于获取元素的计算样式属性的方法,但它们适用于不同的情况。它用于获取指定元素的当前样式,返回的是一个样式属性对象。

m0_74293254的博客 630

C# Code-Behind 技术全面解析

Code-Behind 是 ASP.NET Web Forms 中的一种技术模式,通过将用户界面标记(.aspx文件)与程序逻辑代码(.aspx.cs文件)分离,实现表现层与逻辑层的解耦。其核心思想是前端展示与后台逻辑的物理文件分离,通过ASP.NET编译器将两者合并编译成一个Page类并执行。Code-Behind 的优势包括较好的代码组织、较高的开发效率,尤其适合快速开发数据驱动应用。然而,与现代开发模式如ASP.NET MVC、ASP.NET Core和Blazor相比,Code-Behind 在可维

记录学习的过程 956

科研作图不发愁:手把手教你用PyMOL给蛋白-DNA互作图‘美颜’(附完整配色与标注方案)

本文详细介绍了如何使用PyMOL对蛋白-DNA互作结构图进行专业美化,包括从PDB文件加载、结构展示与标注、互作位点突出显示到高质量渲染输出的完整流程。通过具体案例(PDB ID:8SSS)演示了锌指结构域区分、关键残基标注和互作距离测量等实用技巧,帮助科研人员制作可直接用于期刊投稿的高质量示意图。

weixin_42523792的博客 552

JavaScript基础:操作样式(通过获取和设置style属性、className属性)

JavaScript基础:操作样式(通过获取和设置style属性、className属性)

Alley_Olive的专栏 5465

苹果开发者账号注册指南:解决Apple Developer app证件验证失败问题

本文详细解析了苹果开发者账号注册中证件验证失败的常见原因与解决方案。核心在于确保Apple ID、设备与iCloud信息一致,并提供了从官方支持联系到材料准备的全流程操作指南,帮助开发者高效解决“未能验证证件”问题,顺利完成注册。

weixin_29232507的博客 2216

js-style、currentStyle与getComputedStyle()的区别

前言:用js的style属性可以获取html标签的行间样式(oDiv.style.width),但是不能获取非行间样式;如果需要取非行间样式(不能用来设置),可以使用obj.currentStyle[attr](IE)和getComputedStyle(obj,false)[attr](FF)来解决(然而,为了让其兼容,解决方法,封装成getStyle事件)。 一、区别 (1)style专指行...

qq_26780317的博客 335

22AP10 SS524 平替 海思HI3521DV200 可提供开发资料

入,突破了数字接口的视频输入性能瓶颈,提供两倍于前代产品的视频输入能力。视频编解码引擎、视频图像处理的算法效果及性能得到了进一步提升。芯片为客户产品提供了高性能、优异图像质量。推理引擎,支持多种智能算法应用。合丰富的外围设备及高速接口,该。解决方案,广泛用于模拟高清。产品应用开发的新一代专。四核处理器和性能强大的。

szhorsway的博客 1011

【云原生】Docker可视化工具Portainer使用详解

Docker可视化工具Portainer使用详解

congge 1万+

Js中的style,currentStyle,getComputedStyle()区别

Js中的style,currentStyle,getComputedStyle()区别   样式表有三种方式:     1、内嵌样式(inline Style)-是写在Tag里面的,内嵌样式只对所有的Tag有效。     2、内部样式(internal Style Sheet)-是写在HTML的 里面的,内部样式只对所在的网页有效。     3、外部样式表(External Styl...

weixin_30354675的博客 102

SpringBoot从入门到精通(全)

前言 ==本博文结合软件idea进行主要讲解== **springboot的特性主要有** - 简化 Spring 应用程序的创建和开发过程 - 抛弃了繁琐的 xml 配置过程,采用大量的默认配置简化以及注解反射 - 直接使用 java main 方法启动内嵌的 Tomcat 服务器运行 Spring Boot 程序,不需要部署 war 包文件 **四大核心**分别为自动配置、起步依赖、Actuator和命令行界面

码农研究僧的博客 7万+

window.getComputedStyle()方法

1.window.getComputedStyle()方法返回值 是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式声明对象([object CSSStyleDeclaration]),只读。 语法:var style = window.getComputedStyle("元素", "伪类"); //第二个参数选填 如果不查询伪类的话可以不填或填null 2.window.getComputedStyle()和element.style的区别 win...

weixin_44774062的博客 4790

[AI] 本地部署 Dify 遇到 Internal Error?一文彻底解决密码不一致引发的问题

摘要:Dify本地部署常见InternalError错误主要由配置残留或密码不一致导致,特别是修改.env文件后未同步清除数据库记录。彻底解决方案包括:1)清理Docker数据;2)删除旧配置和数据库;3)还原源代码;4)重建.env文件;5)重新初始化部署。关键提醒:记录部署路径、备份.env文件并妥善保存密码。该错误本质是配置冲突,最有效方法是完全重置而非调试,保持清晰的部署管理可避免多数InternalError问题。(149字)

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 432

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JS获取元素CSS样式

获取元素CSS样式的方法 说到在js里修改css样式的属性,我第一个想的是.style属性、然后去具体的修改字体的样式,背景颜色等样式,最近在做一个练习的时候涉及到了这部分的知识。 一·首先style属性 我们建立两个div,一个给内联样式,一个给行内样式。 我们只能获得到写了行内样式的css样式。所以style属性只是修改元素的行内样式。 说个题外话: !important,可以提高样式的优先级。并且等级高于行内样式,所以在js中使用style属性修改的行内样式优先级也小于 !important 例如下图

qq_44771388的博客 1765

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

转载一篇张鑫旭大大的文章,我感觉不错!!【获取元素CSS值之getComputedStyle方法熟悉】

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2378 一、碎碎念~前言 我们都用过jQuery的CSS()方法,其底层运作就应用了getComputedStyle以及getPropertyValue方法。 对于那些只想混口饭吃的人来讲,晓得CSS()如何使用就足

木槿花西月锦绣 1081

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

js中style,currentStyle和getComputedStyle的区别

js中style,currentStyle和getComputedStyle的区别 MarysMa 在js中用xx.style.marginTop是无法获取写在css或<sytle>标签中的margin-top之类的样式值(包括width,height等)。 这就是style属性的限制: style: 只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的...

djex8531010的博客 216

style, currentStyle, getComputedStyle的区别

如果不在某元素上添加类似的样式:style="font-size:20px;",在不同浏览器上获取样式的属性值的方式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <scripttype="text/javascript"> functiontest(){ ...

weixin_33920401的博客 94

js获取css值的方法:style、getComputedStyle和currentStyle

JS 获取 html元素的样式有三种方式:style、getComputedStyle 和 currentStyle等。区别在于: (1)style 只能获取行间样式,但能设置样式。 (2)getComputedStyle 和 currentStyle 能够获取 行间样式/非行间样式/浏览器默认样式,但存在浏览器兼容问题,且不能设置样式。 一、element.style 获取行间样式,以及设

lzding的博客 1万+

浅谈style,currentStyle以及getComputedStyle

浅谈style ,currentStyle以及getComputedStyle 最近在学习web,希望通过写博客的方式来记录自己的学习情况,这是我的第一篇博客,可能写的不好,如果有不恰当的地方,有大佬看见了希望能帮我指出。希望能够通过写博客的方式加快自己的成长,同时也希望能够帮助大家,共同进步。 小白上路,难免会有很多好奇的地方。今天在学习js时,老师讲了了一个十分有趣且奇怪的事情,首先来看一段代码: <!DOCTYPE html> <html> <head>

学习之路 368

getcomputedstyle、currentStyle、style

style属性: 在JavaScript中,通过document.getElementById(id).style.XXX只能取到通过内嵌方式设置的样式值,即style属性里面设置的值。解决方案:引入currentStyle,runtimeStyle,getComputedStyle style 标准的样式,可能是由style属性指定的! runtimeStyle :运行时的样式!如果与styl

lwf的博客 473

getComputedStyle和currentStyle的区别和用法

获取元素CSS值之getComputedStyle方法熟悉 一、碎碎念~前言 我们都用过jQuery的CSS()方法,其底层运作就应用了getComputedStyle以及getPropertyValue方法。 对于那些只想混口饭吃的人来讲,晓得CSS()如何使用就足够了。对于希望在JS道路上越走越远的来人说,简单了解一些JS库底层实现对自己的学习很有帮助。可能谈不上信手拈来的使用,至少对创...

fortune丶的blog 804

style,currentStyle和getComputedStyle的区别

样式表有三种方式 内嵌样式(inline Style) :是写在Tag里面的,内嵌样式只对所有的Tag有效。 内部样式(internal Style Sheet):是写在HTML的里面的,内部样式只对所在的网页有效。 外部样式表(External Style Sheet):如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以.css为后缀的...

dongjiong0213的博客 189
上一篇: JS不定参 arguments
下一篇: CSRF简单理解---HTTP Referer字段验证(Java实现)
澪月
博客等级 码龄11年 29粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值