美文网首页
读取元素的样式:

读取元素的样式:

作者: 虎三呀 | 来源:发表于2018-02-08 10:00 被阅读0次
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            
            #box1{
                width: 100px;
                height: 100px;
                background-color: yellow;
            }
            
        </style>
        
        <script type="text/javascript">
            
            window.onload = function(){
                
                //点击按钮以后读取box1的样式
                var box1 = document.getElementById("box1");
                var btn01 = document.getElementById("btn01");
                btn01.onclick = function(){
                    //读取box1的宽度
                    //alert(box1.style.width);
                    
                    /*
                     * 获取元素的当前显示的样式
                     *  语法:元素.currentStyle.样式名
                     * 它可以用来读取当前元素正在显示的样式
                     *  如果当前元素没有设置该样式,则获取它的默认值
                     * 
                     * currentStyle只有IE浏览器支持,其他的浏览器都不支持
                     */
                    
                    //alert(box1.currentStyle.width);
                    //box1.currentStyle.width = "200px";
                    //alert(box1.currentStyle.backgroundColor);
                    
                    /*
                     * 在其他浏览器中可以使用
                     *      getComputedStyle()这个方法来获取元素当前的样式
                     *      这个方法是window的方法,可以直接使用
                     * 需要两个参数
                     *      第一个:要获取样式的元素
                     *      第二个:可以传递一个伪元素,一般都传null
                     * 
                     * 该方法会返回一个对象,对象中封装了当前元素对应的样式
                     *  可以通过对象.样式名来读取样式
                     *  如果获取的样式没有设置,则会获取到真实的值,而不是默认值
                     *  比如:没有设置width,它不会获取到auto,而是一个长度
                     * 
                     * 但是该方法不支持IE8及以下的浏览器
                     * 
                     * 通过currentStyle和getComputedStyle()读取到的样式都是只读的,
                     *  不能修改,如果要修改必须通过style属性
                     */
                    //var obj = getComputedStyle(box1,null);
                    
                    /*alert(getComputedStyle(box1,null).width);*/
                    //正常浏览器的方式
                    //alert(getComputedStyle(box1,null).backgroundColor);
                    
                    //IE8的方式
                    //alert(box1.currentStyle.backgroundColor);
                    
                    //alert(getStyle(box1,"width"));
                    
                    var w = getStyle(box1,"width");
                    alert(w);
                    
                    
                };
                
            };
            
            /*
             * 定义一个函数,用来获取指定元素的当前的样式
             * 参数:
             *      obj 要获取样式的元素
             *      name 要获取的样式名
             */
            
            function getStyle(obj , name){
                
                if(window.getComputedStyle){
                    //正常浏览器的方式,具有getComputedStyle()方法
                    return getComputedStyle(obj , null)[name];
                }else{
                    //IE8的方式,没有getComputedStyle()方法
                    return obj.currentStyle[name];
                }
                
                //return window.getComputedStyle?getComputedStyle(obj , null)[name]:obj.currentStyle[name];
                
            }
            
            
        </script>
    </head>
    <body>
        <button id="btn01">点我一下</button>
        <br /><br />
        <div id="box1" ></div>
    </body>
</html>

相关文章

  • dom操作css

    解决浏览器兼容,获取div样式 页面样式: 通过js修改元素样式: 读取样式: 读取正在显示样式: 语法:元素.c...

  • 读取元素的样式:

  • style样式

    通过style属性设置和读取的都是内联样式 无法通过style读取样式表中的样式 读取样式表样式 这两种方法只能读...

  • CSS选择器原理以及如何提高CSS选择器效率?

    CSS选择器原理 浏览器是如何读取选择器,以识别样式,并将相应的样式附于对应的HTML元素,达到美化页面的效果。C...

  • WebAPI(二)

    (一)操作元素样式 1.通过style操作元素的样式 语法:元素.style.样式属性名 = '样式属性值'; 代...

  • CSS入门五

    继承性、优先级 继承性 外层元素的样式会被内层元素所继承 --> 当内层元素的样式和外层样式相同时 内层元素的样式...

  • jQuery_css

    对于jQuery的css属性方法: 它有读取css样式和设置css样式的功能; 一.读取 我们通过jQuery对象...

  • html中的自定义标签和语义元素

    HTML元素本质上是样式无关的 div元素的默认样式定义: span元素的默认样式定义: 没有显示定义,应用缺省样...

  • CSS 样式介绍(二)

    各种样式属性的作用 1.文字相关的样式属性 2.块级元素、行内元素、行内块元素 3.背景样式属性 4.css3样式...

  • 获取元素样式

    获取元素的某一个具体的样式属性值 元素.style.属性名这需要把元素的样式都写在行内样式上,写在样式表(css)...

网友评论

      本文标题:读取元素的样式:

      本文链接:https://www.haomeiwen.com/subject/vjgzzxtx.html