首页 > 软件开发 > CSS >

如何javascript获取css中的样式

来源:互联网 2023-03-16 19:17:34 483

obj.style.height只能获取行间样式,但是我们要怎么获取写在css文件中的样式呢?6lt办公区 - 实用经验教程分享!

工具/原料

  • Dreamweaver

方法/步骤

  • 1

    首先我们要用一个新的方法currentStyle.这个方法由current和style两个单词组成意思是:目前的样式.也就是加载css文件后取出来的样式.6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

  • 2

    currentStyle的用法是:元素.currentStyle.属性名6lt办公区 - 实用经验教程分享!

    下面我们开始获取如图div1的width样式,那我们就需要这样写:6lt办公区 - 实用经验教程分享!

    var w=document.getElementById('div1').currentStyle.width;6lt办公区 - 实用经验教程分享!

    alert(w);6lt办公区 - 实用经验教程分享!

    在IE下调试,看是不是可以得到正确的宽度了6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

  • 3

    IE可以了然后我们换个火狐试试,无论我怎么刷新都没有弹出我希望的200px,f12调试一下,原来如此,火狐不支持currentStyle方法.6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

  • 4

    火狐和Chrome支持的是另外一个方法:getComputedStyle,大概意思就是获取完成的样式.6lt办公区 - 实用经验教程分享!

    用法:getComputedStyle(元素,false).属性名6lt办公区 - 实用经验教程分享!

    同2,我们的代码应该这样写:6lt办公区 - 实用经验教程分享!

    var w=getComputedStyle(document.getElementById('div1'),false).width;6lt办公区 - 实用经验教程分享!

    alert(w);6lt办公区 - 实用经验教程分享!

    现在不报错了,也能正常的获取了6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

  • 4本页面未经授权抓取自百度经验
  • 5

    可是我们用ie试试,肯定没反应了.因为ie又不支持getComputedStyle了.....是不是很蛋疼6lt办公区 - 实用经验教程分享!

  • 6

    所以现在我们要写一个函数叫做getClass;6lt办公区 - 实用经验教程分享!

    内容如下:6lt办公区 - 实用经验教程分享!

    //兼容获取非行间样式6lt办公区 - 实用经验教程分享!

    function getClass(obj,name)6lt办公区 - 实用经验教程分享!

    {6lt办公区 - 实用经验教程分享!

    6lt办公区 - 实用经验教程分享!

    if(obj.currentStyle)6lt办公区 - 实用经验教程分享!

    {6lt办公区 - 实用经验教程分享!

    return obj.currentStyle[name];//IE下获取非行间样式6lt办公区 - 实用经验教程分享!

    6lt办公区 - 实用经验教程分享!

    }6lt办公区 - 实用经验教程分享!

    else6lt办公区 - 实用经验教程分享!

    {6lt办公区 - 实用经验教程分享!

    return getComputedStyle(obj,false)[name];//FF、Chorme下获取费行间样式6lt办公区 - 实用经验教程分享!

    }6lt办公区 - 实用经验教程分享!

    }6lt办公区 - 实用经验教程分享!

  • 7

    然后我们想要获取css中的样式就这样写:6lt办公区 - 实用经验教程分享!

    var w=getClass(document.getElementById('div1'),"width");6lt办公区 - 实用经验教程分享!

    alert(w);6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

  • 8

    试试ie,试试火狐.都很ok的啦6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

    如何javascript获取css中的样式6lt办公区 - 实用经验教程分享!

  • 注意事项

    • 在js中'[]'的作用和'.'的是一样的,所以函数里面写的是obj.currentStyle[name]。
    • 获取背景颜色的时候不能直接用background,要用background-color

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!6lt办公区 - 实用经验教程分享!


    标签: CSS

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码