其實呢,還有別的方法可以讀到這些樣式信息,方法有兩種,一種是通過document.styleSheets對象,另一種是通過“最終樣式”對象。其中 IE中這個對象叫做currentStyle,FF中這個對象叫做document.defaultView。我將這兩個類打包了一下,做了一個用于訪問 樣式信息的函數,如下:
代碼如下:
//===========================訪問樣式表函數====================================
function returnStyle(obj,styleName){
var myObj = typeof obj == "string" ? document.getElementById(obj) : obj;
if(document.all){
return eval("myObj.currentStyle." + styleName);
} else {
return eval("document.defaultView.getComputedStyle(myObj,null)." + styleName);
}
}
函數有兩個參數:
obj:訪問的對象,類型為DOM對象,或者是對象的id;
styleName: 需要訪問的樣式名稱。類型為string,但是名稱不能用"-"號,要用像style.對象的屬性名一樣的大小寫混寫名稱,例如background-color要寫成backgroundColor。
函數返回值為 string類型。
注意:這個方法只能訪問樣式文件,不能寫。如果要寫樣式,還是要用DOM.style.XXX的方法。另外,FF下有些樣式訪問有問題,例如padding,margin。如果樣式中設置了padding,margin等值,我們可以用marginLeft來返回值。
代碼如下:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com