JS獲取元素屬性


<style>
            *{
                box-sizing: border-box;
            }
            html, body {
                margin: 0px;
                width: 100%;
                height: 100%;
                overflow: hidden;
            }
            .main{
                width: 600px;
                height: 300px;
                margin: 0 auto;
                background: #999;
            }
            #p1{
                padding: 10px 20px;
            }

        </style>
<div class="main" id=main>
            東方紅 的事發后 沙發上好厲害多個從V型從一瓶酒發送到發送到
            <p id=p1>sdfldsnfdsnldfsn fnsdfsdlknfsdflndslfsdn</p>
        </div>
<script>
            /**
             * JS獲取 dom樣式的幾種情況
             * 一:獲取元素的行內樣式
             * 二:獲取計算后的樣式
             * 三:獲取<link>和<style>標簽寫入的樣式
             * 四、獲取元素的實際大小
                    1. clientWidth和clientHeight
                        這組屬性可以獲取元素可視區的大小,
                        可以得到元素內容及內邊距所占據的空間大小。
                        返回了元素大小,但沒有單位,默認單位是px,如果你強行設置了單位,
                        比如100em之類,它還是會返回px的大小。(CSS獲取的話,是照着你設置的樣式獲取)。
                        對於元素的實際大小,clientWidth和clientHeight理解方式如下:
                    a. 增加邊框,無變化;
                    b. 增加外邊距,無變化;
                    c. 增加滾動條,最終值等於原本大小減去滾動條的大小;
                    d. 增加內邊距,最終值等於原本大小加上內邊距的大小;
                    ##注意:當box-sizing屬性值是border-box的時候上述abcd不成立
             *
            */
            //1 定義獲取dom的函數
            function getDom(str){
                return document.querySelector(str);
            }
            //2 、定義獲取
            function getStyle(dom){
                var style=null;
                window.getComputedStyle?style=window.getComputedStyle(dom):style=dom.currentStyle;
                return style;
            }
            var dom1=getDom('#main');
            console.log(dom1.clientWidth);// 得到的是沒帶px的數字
            var domstyle=getStyle(dom1);// 字符創的寬度帶px 和上面的clientWidth實質上是一樣的
            console.log(domstyle.width);

            //p 的寬度
            var dom2=getDom('#p1');
            console.log(dom2.clientWidth);
            console.log(getStyle(dom2).width);
        </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM