<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JS非行間樣式獲取函數的實例代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:13:21
        文檔

        JS非行間樣式獲取函數的實例代碼

        JS非行間樣式獲取函數的實例代碼:行間樣式:元素內部用style定義的樣式,如:<div style=width:200px;></div> 非行間樣式:在<style></style>內通過css定義的樣式 先看一段出問題的代碼 <!DOCTYPE html> <html>
        推薦度:
        導讀JS非行間樣式獲取函數的實例代碼:行間樣式:元素內部用style定義的樣式,如:<div style=width:200px;></div> 非行間樣式:在<style></style>內通過css定義的樣式 先看一段出問題的代碼 <!DOCTYPE html> <html>

        行間樣式:元素內部用style定義的樣式,如:<div style="width:200px;"></div>

        非行間樣式:在<style></style>內通過css定義的樣式

        先看一段出問題的代碼

        <!DOCTYPE html> 
        <html> 
         <head> 
         <meta charset="UTF-8"> 
         <title></title> 
         </head> 
         <style> 
         div{ 
         height: 100px; 
         width: 100px; 
         border: 2px solid black; 
         background: red; 
         } 
         </style> 
         <body> 
         <div id="div1" style=""> 
         寬 
         </div> 
         </body> 
         <script type="text/javascript" > 
         window.onload =function(){ 
         var oDiv1=document.getElementById('div1'); 
         oDiv1.onclick=function(){ 
         oDiv1.style.width=200+'px'; 
         } 
         } 
         </script> 
        </html> 

        我在頁面放了一個方塊,紅底黑邊,想通過點擊該方塊讓他的寬度變為200px,看一下結果——沒有任何反應,也沒有報錯。

        在事件中添加alert('a');有反應,說明onclick事件被觸發了,那么就是

        oDiv1.style.Width=200+'px'; 

        這行代碼有問題。

        打印一下這個這個變量:

        alert(oDiv1.style.Width); 

        雖然不報錯,但是顯示空白,即使用變量賦值之后任然無法獲取這個值,真正的原因是style只能獲取行間樣式,試一下:

        <!DOCTYPE html> 
        <html> 
         <head> 
         <meta charset="UTF-8"> 
         <title></title> 
         </head> 
         <style> 
         
         </style> 
         <body> 
         <div id="div1" style="height: 100px; 
         width: 100px; 
         border: 2px solid black; 
         background: red;"> 
         寬 
         </div> 
         </body> 
         <script type="text/javascript" > 
         window.onload =function(){ 
         var oDiv1=document.getElementById('div1'); 
         oDiv1.onclick=function(){ 
         oDiv1.style.width=200+'px'; 
         } 
         } 
         </script> 
        </html> 

        可以確定確實是行間樣式與非行間樣式的問題,實際上不可能把所有樣式都寫在行間。

        要解決這個問題,需要引入兩個元素屬性——currentStyle和getComputedStyle(obj, false)

        currentStyle——獲取非行間(當前樣式)IE瀏覽器專屬,chrome和FF不兼容。

        getComputedStyle(obj, false)——獲取非行間(計算后的樣式)IE不兼容。

        <script type="text/javascript" > 
         window.onload =function(){ 
         var oDiv1=document.getElementById('div1'); 
         oDiv1.onclick=function(){ 
         //FF、chrome 
         alert(getComputedStyle(oDiv1, false).width); 
         //IE 
         alert(oDiv1.currentStyle.width); 
         } 
         } 
        </script> 

        把他封裝一下寫成一個公用函數:

        //obj:哪個元素 
        //attr:那個樣式 
        function getStyle(obj,attr){ 
         if(obj.currentStyle){ 
         //IE 
         return obj.currentStyel[attr]; 
         }else{ 
         //FF 
         return getComputedStyle(obj, false)[attr]; 
         } 
        } 

        通過判斷obj.currentStyle是否為真來判斷當前瀏覽器為IE還是其他。

        注意:.width的寫法可以寫成['width']

        總結

        以上所述是小編給大家介紹的JS非行間樣式獲取函數的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JS非行間樣式獲取函數的實例代碼

        JS非行間樣式獲取函數的實例代碼:行間樣式:元素內部用style定義的樣式,如:<div style=width:200px;></div> 非行間樣式:在<style></style>內通過css定義的樣式 先看一段出問題的代碼 <!DOCTYPE html> <html>
        推薦度:
        標簽: js 代碼 函數
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 最近在线2018视频免费观看| 特级一级毛片免费看| 国产精品区免费视频| 国产亚洲成av片在线观看| yellow免费网站| 国产亚洲无线码一区二区| 在线成人精品国产区免费| 亚洲免费精彩视频在线观看| 最近中文字幕2019高清免费| 亚洲avav天堂av在线网爱情| 免费a级毛片无码a∨蜜芽试看 | 亚洲精品国产字幕久久不卡| 成人无码视频97免费| 亚洲av日韩av高潮潮喷无码| 2019中文字幕在线电影免费| 亚洲第一男人天堂| www.亚洲精品.com| 97超高清在线观看免费视频| 亚洲av日韩av天堂影片精品| 99久久这里只精品国产免费| 天天综合亚洲色在线精品| 亚洲日韩在线观看免费视频| 黄网站免费在线观看| 亚洲欧洲校园自拍都市| 日本一区免费电影| 成在人线av无码免费高潮水| 亚洲成人黄色在线| 国产精品自在自线免费观看| 三年片免费高清版| 亚洲五月综合网色九月色| 亚洲精品一级无码鲁丝片 | 五月婷婷亚洲综合| 久久aa毛片免费播放嗯啊| 亚洲精品天堂成人片AV在线播放 | 亚洲AV无码国产精品色| 免费大片黄手机在线观看| 久久青草免费91观看| 亚洲精华国产精华精华液网站| 亚洲国产香蕉人人爽成AV片久久 | 亚洲中字慕日产2020| 免费人成网站在线播放|