zoukankan      html  css  js  c++  java
  • 获取非行间样式的获取

    当我们的样式写在行间的时候,JS可以通过style获取,

    然而style也只能获取或操作行间样式,当我们需要获取非行间的样式时,

    应该采用什么方法呢?

       首先定义一个div并为他设置样式:  

    <style>
        #div1{100px;height:100px;border:1px solid red;}
    </style>
    <div id="div1"></div>

    在IE下:currentStyle用于获取非行间的样式

    <script>
        var oDiv=document.getElementById("div1");
        console.log(oDiv.currentStyle.width);
    </script>

    但是他不兼容火狐,火狐下用的方法是getComputedStyle(obj,false);

    第一个参数是要获取的元素,第二个参数随意设置

    console.log(getComputedStyle(oDiv,false).width);

    但是这样一来IE7又不兼容了,我们可以通过If语句判断实现浏览器的兼容

        function getStyle(obj,name){
            if(obj.currentStyle){
           //IE
    return obj.currentStyle[name]; }else{
           //火狐
    return getComputedStyle(obj,false)[name]; } }

    但是需要注意的是,我们输入参数不能是复合样式,例如background

    如果我们要获取背景颜色,输入的参数不能是background而是他下面的单一样式backgroundColor

  • 相关阅读:
    自定义ckeditor5
    ckEditor5 图片上传到七牛云
    Vue2.0原理-指令
    小程序体积优化(1)--优化大文本
    win10系统安装docker注意事项
    Vue2.0原理-模板解析
    使用nginx部署静态网站
    react-native初体验(2) — 认识路由
    react-native初体验(1) — hello world
    领骑衫总结
  • 原文地址:https://www.cnblogs.com/qyuan/p/9767618.html
Copyright © 2011-2022 走看看