利用原生JavaScript获取样式的方式小结

利用原生JavaScript获取样式的方式小结

大家好,又见面了,我是全栈君。

来源:http://www.ido321.com/930.html

ps:是获取样式。不是设置样式。若没有给元素设置样式值。则返回浏览器给予的默认值。(论坛整理)

 

1、element.style:仅仅能获取写在元素标签中的style属性里的样式值,无法获取到定义在<style></style>和通过<link href=”css.css”>载入进来的样式属性

   1: var ele = document.getElementById('ele');
   2: ele.style.color;    //获取颜色

 

2、window.getComputedStyle():能够获取当前元素全部终于使用的CSS属性值

   1: window.getComputedStyle("元素", "伪类");

这种方法接受两个參数:要取得计算样式的元素和一个伪元素字符串(比如“:before”) 。

假设不须要伪元素信息,第二个參数能够是null。

也能够通过document.defaultView.getComputedStyle(“元素”, “伪类”);来使用

   1: var ele = document.getElementById('ele');
   2: var styles = window.getComputedStyle(ele,null);
   3: styles.color;  //获取颜色

能够通过style.length来查看浏览器默认样式的个数。IE6-8不支持该方法,须要使用后面的方法。对于Firefox和Safari。会把颜色转换成rgb格式。

 

3、element.currentStyle:IE 专用。返回的是元素当前应用的终于CSS属性值(包含外链CSS文件,页面中嵌入的<style>属性等)。

   1: var ele = document.getElementById('ele');
   2: var styles = ele.currentStyle;
   3: styles.color;

注意:对于综合属性border等。ie返回undefined,其它浏览器有的返回值。有的不返回。可是borderLeftWidth这种属性是返回值的

 

4、getPropertyValue():获取CSS样式的直接属性名称

   1: var ele = document.getElementById('ele');
   2: window.getComputedStyle(ele,null).getPropertyValue('color');

注意:属性名不支持驼峰格式。IE6-8不支持该方法。须要使用以下的方法

 

5、getAttribute():与getPropertyValue类似,有一点的差异是属性名驼峰格式

   1: var test = document.getElementById('test');
   2: window.getComputedStyle(test, null).getPropertyValue("backgroundColor");

  注意:该方法仅仅支持IE6-8。

 

以下的获取样式方法兼容IE、chrome、FireFox等

   1: function getStyle(ele) {
   2:     var style = null;
   3:     
   4:     if(window.getComputedStyle) {
   5:         style = window.getComputedStyle(ele, null);
   6:     }else{
   7:         style = ele.currentStyle;
   8:     }
   9:     
  10:     return style;
  11: }

在JQuery中,经常使用css()获取样式属性。其底层运作就应用了getComputedStyle以及getPropertyValue方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115275.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL Server 2019下载及安装教程

    文章目录一、安装SQLServer2019二、安装SQLServerManagementStudio(SSMS)一、安装SQLServer2019搜索SQL,点击红色部分跳出一下界面,随便填,填完之后,点击continue。点击保存,保存成功之后,打开文件夹,右键以管理员身份启动,就会看见下面的画面,我这边选择的是自定义安装。弹出的选项,一个是中文,媒…

    2022年4月7日
    48
  • Java死锁排查和Java CPU 100% 排查的步骤整理和OOM FullGc案例

    工欲善其事,必先利其器简介本篇整理两个排查问题的简单技巧,一个是java死锁排查,这个一般在面试的时会问到,如果没有写多线程的话,实际中遇到的机会不多;第二个是java cpu 100%排查,这个实际的开发中,线的应用出现这个问题可能性比较大,所以这里简单总结介绍一下,对自己学习知识的一个整理,提高自己的解决问题能力。一、Java死锁排查通过标题我们就要思考三个问题…

    2022年2月27日
    40
  • 数据分析的具体案例(通过数据分析得到什么)

    今天给大家分享一个数据分析案例:线下连锁水果店销售数据分析案例,分析过程我也会以类动图的方式呈现给大家,真正意义上做到收藏即学会。目录1案例背景2问题确认与指标拆解题3问题解决思路4案例实操4.1利用分组分析找到亏损店铺做营销优化,实验验证结论4.2运用对比分析法解决哪类产品销售好的问题?4.3利用矩阵关联法找到销量好和利润高的品类4.4运用趋势分析法分析水果总需求如何?5结论分析报告1案例背景果多吃水果连锁超市是华北地区的热门线下水果超市。该超市覆盖华北5个省份,且在京津冀地区门

    2022年4月11日
    111
  • [转载]interp1「建议收藏」

    [转载]interp1「建议收藏」MATLAB中的插值函数为interp1,其调用格式为:yi=interp1(x,y,xi,’method’)其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量,’method’表示采用的插值方法,MATLAB提供的插值方法有几种:’method’是最邻近插值,’linear’线性插值;’spline’三次样条插值;’cub…

    2022年5月25日
    41
  • idea激活码20213月最新在线激活「建议收藏」

    idea激活码20213月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    251
  • html5中的空格怎么写,空格的代码(【html5空格代码怎么写】)「建议收藏」

    html5中的空格怎么写,空格的代码(【html5空格代码怎么写】)「建议收藏」空格的代码(【html5空格代码怎么写】),哪吒游戏网给大家带来详细的空格的代码(【html5空格代码怎么写】)介绍,大家可以阅读一下,希望这篇空格的代码(【html5空格代码怎么写】)可以给你带来参考价值。6.不要应用with,void,eval。每行释注的释注符后要加一个空格后才写解注,如://MynameisCKJ.1.单行释注:用“//”标注,注意免避无意义的释注。2….

    2022年9月22日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号