javascript通用獲取元素樣式屬性值程式碼例項
本章節分享一段程式碼例項,它實現了具有通用效果的獲取元素指定樣式屬性值的功能。無論是使用ele.style.attr方式定義的屬性還是樣式表定義的屬性,都可以獲取。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #antzone{ width:200px; height:100px; background-color:#ccc; text-align:center; line-height:100px; } </style> <script type="text/javascript"> function getStyle(elem, name) { if (elem.style[name]) { return elem.style[name]; } else if (elem.currentStyle) { return elem.currentStyle[name]; } else if(document.defaultView && document.defaultView.getComputedStyle){ name = name.replace(/([A-Z])/g, "-$1"); name = name.toLowerCase(); var s = document.defaultView.getComputedStyle(elem, ""); return s && s.getPropertyValue(name); } else { return null; } } window.onload=function(){ var odiv=document.getElementById("antzone"); odiv.innerHTML=getStyle(odiv,"backgroundColor"); } </script> </head> <body> <div id="antzone"></div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).function getStyle(elem, name) {},此方法實現了獲取功能,第一個引數元素物件,第二個引數是屬性的名稱,符合屬性支援類似"backgroundColor"和"background-color"兩種形式。
(2).if (elem.style[name]) {
return elem.style[name];
},如果是屬性是使用style定義的,那麼就使用此種方式獲取。
(3).else if (elem.currentStyle) {
return elem.currentStyle[name];
},此方式是針對IE8和IE8以下瀏覽器。
(4). else if(document.defaultView && document.defaultView.getComputedStyle),針對標準瀏覽器。
(5).name = name.replace(/([A-Z])/g, "-$1")此程式碼就是為了將backgroundColor形式轉換為background-color。
(6).name = name.toLowerCase(),轉換為小寫形式。
(7).var s = document.defaultView.getComputedStyle(elem, ""),獲取元素的css樣式物件。
(8).return s && s.getPropertyValue(name),獲取指定名稱的屬性值。
二.相關閱讀:
(1).currentStyle可以參閱getComputedStyle()和currentStyle屬性的一章節。
(2).replace()方法可以參閱正規表示式replace()一章節。
相關文章
- jQuery css()設定和獲取元素css屬性值程式碼例項jQueryCSS
- javascript獲取指定元素父元素程式碼例項JavaScript
- javascript獲取元素封裝程式碼例項JavaScript封裝
- 獲取iframe標籤的src屬性值程式碼例項
- JavaScript使用name屬性值獲取元素物件JavaScript物件
- javascript獲取元素的順序程式碼例項JavaScript
- javascript獲取li元素內容程式碼例項JavaScript
- javascript通過class屬性獲取元素的程式碼JavaScript
- JavaScript 通過 type 屬性值獲取表單元素JavaScript
- JavaScript 獲取 checked 屬性值JavaScript
- javascript如何獲取屬性值JavaScript
- javascript設定和獲取cookie值程式碼例項JavaScriptCookie
- jquery獲取元素高度程式碼例項jQuery
- JavaScript獲取當前點選元素的id屬性值JavaScript
- javascript動態改變iframe元素src屬性程式碼例項JavaScript
- JavaScript獲取星期程式碼例項JavaScript
- javascript獲取數字的絕對值程式碼例項JavaScript
- javascript獲取陣列中最大值程式碼例項JavaScript陣列
- js通過type屬性值篩選input元素程式碼例項JS
- javascript的cssText屬性程式碼例項JavaScriptCSS
- js如何獲取css偽類選擇器樣式值程式碼例項JSCSS
- 原生就javascript實現的獲取子元素程式碼例項JavaScript
- addClass()新增多個樣式屬性程式碼例項
- jQuery獲取指定元素的父元素程式碼例項jQuery
- css獲取指定元素的兄弟元素程式碼例項CSS
- 獲取指定元素下所有li元素程式碼例項
- jquery獲取同輩元素程式碼例項jQuery
- 原生javascript實現獲取指定元素下所有後代元素程式碼例項JavaScript
- 設定和獲取元素固有屬性值
- 使用jquery獲取指定元素的子元素程式碼例項jQuery
- 獲取當前元素下一個元素程式碼例項
- jQuery獲取指定的li元素程式碼例項jQuery
- jQuery獲取所有的li元素程式碼例項jQuery
- javascript動態設定元素的樣式簡單程式碼例項JavaScript
- jQuery點選元素獲取此元素的id屬性值jQuery
- javascript獲取視窗大小例項程式碼JavaScript
- javascript獲取主機域名程式碼例項JavaScript
- javascript獲取url引數程式碼例項JavaScript