<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
        主站蜘蛛池模板: 在线亚洲精品自拍| 亚洲综合国产精品第一页| 亚洲精品综合久久中文字幕| 中国一级毛片免费看视频| 亚洲自偷自偷在线制服| 两个人看的www高清免费视频| 亚洲中文字幕视频国产| 国色精品va在线观看免费视频 | 亚洲人成77777在线播放网站不卡| 色欲A∨无码蜜臀AV免费播| 亚洲一区二区三区夜色| 青草草色A免费观看在线| 亚洲日本久久久午夜精品| 国产青草视频在线观看免费影院| 国产偷国产偷亚洲高清在线| 亚洲日本中文字幕天堂网| 最近免费字幕中文大全| 亚洲高清视频免费| 久久久久久国产精品免费免费| 亚洲av色香蕉一区二区三区| 亚洲av麻豆aⅴ无码电影| 国产午夜无码片免费| 亚洲高清视频免费| 最新69国产成人精品免费视频动漫| 久久精品国产亚洲av瑜伽| 中文亚洲成a人片在线观看| 久久免费区一区二区三波多野| 亚洲网站在线播放| 成年18网站免费视频网站| 免费观看四虎精品成人| 亚洲av无码国产精品色午夜字幕 | 日韩高清免费在线观看| 亚洲国产免费综合| 久久久久亚洲精品日久生情| 成年私人影院免费视频网站| 一级毛片免费全部播放| 精品久久久久久亚洲精品| 亚洲乱码中文字幕综合234| 91人人区免费区人人| 手机永久免费的AV在线电影网| 日韩精品一区二区亚洲AV观看|