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.οnlοad=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>

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

转载于:https://www.cnblogs.com/lilylearning1992/p/4723474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值