zoukankan      html  css  js  c++  java
  • js获取非行间样式--有bug,忧伤

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>getStyle提取非行间样式——只能提取不能设置</title>
        <style>
            *{padding:0; margin:0;}
            #div1{width:300px; height:300px; background:#f00; margin:50px auto;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px; border:2px solid #000;}
        </style>
        <script>
            window.onload=function(){
                function getStyle(obj,name){
                    if(obj.currentStyle){
                        //alert("现在使用的是obj.currentStyle");
                        return obj.currentStyle[name];
                    }else{
                        //alert("现在使用的是getComputedStyle");
                        return getComputedStyle(obj,false)[name];
                    };
                };
                var oDiv=document.getElementById("div1");
                alert(getStyle(oDiv,"border-color"));
            }
            /*火狐和IE下无法获取border的值,火狐下无法获取border-width的值,火狐下无法获取border-color的值*/
            /*window.onload=function(){
                function nameForm(name){
                    var aName=name.split("");
                    for(var i=0;i<aName.length;i++){
                        if(aName[i]=="-"){
                            aName.splice(i,1);
                            aName[i]=aName[i].toUpperCase();
                        };
                    };
                    var sName=aName.join("");
                    return sName;
                };//nameForm,名字格式
                function getStyle(obj,name){
                    var oGetStyleMethod=null;
                    if(obj.currentStyle){
                        oGetStyleMethod=obj.currentStyle;
                    }else{
                        oGetStyleMethod=getComputedStyle(obj,false);
                    };
                    if(oGetStyleMethod.getAttribute){
                        alert("我使用的是getAttribute");
                        var sName=nameForm(name);
                        return oGetStyleMethod.getAttribute(sName);
                    }else{
                        alert("我使用的是getPropertyValue");
                        return oGetStyleMethod.getPropertyValue(name);
                    }
                };
                var oDiv=document.getElementById("div1");
                alert(getStyle(oDiv,"border-color"));
            }*/
            /*火狐和IE下无法获取border-radius的值*/
            /*经过测试用JQuery中的css()函数也无法获取火狐下border-radius的值*/
        </script>
    </head>
    <body>
        <div id="div1"></div>
    </body>
    </html>

    不能完全兼容所有浏览器,不能完全提取出所有样式……

    放下过去,才能迎接未来! 未来的每一天我都要过的精彩!
  • 相关阅读:
    Flume基础(一):概述
    Hive高级(2):优化(2) 表的优化
    ospf命令
    Verizon 和某 BGP 优化器如何在今日大范围重创互联网
    BGP数据中心鉴别方法
    多线BGP鉴定
    mpls ldp neighbor 和loopbak
    ospf默认路由
    ospf
    ubuntu cloud init获取元数据失败
  • 原文地址:https://www.cnblogs.com/lilylearning1992/p/4723474.html
Copyright © 2011-2022 走看看