HTML DOM 快速導覽 - 文件物件 document 的屬性 styleSheets

document.styleSheets 回傳文件樣式表 (style sheet) 所集合成的 StyleSheetList 物件 (object) 。



舉例如下
function run() {
    var ss = document.styleSheets;
    var s = document.getElementById("show");
    var i, c;
    for (i = 0; i < ss[0].cssRules.length; i++) {
        c = document.createElement("li");
        c.innerHTML = ss[0].cssRules[i].cssText;
        s.appendChild(c);
    } 
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:document030.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2011 年 8 月 */


此例先取得樣式表的集合物件
var ss = document.styleSheets;


然後利用迴圈 (loop) ,將樣式表中的所有規則 (rule) 顯示在網頁之中
for (i = 0; i < ss[0].cssRules.length; i++) {
    c = document.createElement("li");
    c.innerHTML = ss[0].cssRules[i].cssText;
    s.appendChild(c);
}


我們在此例中的 CSS 樣式表為外連的檔案,如下
.demo1 {
    font-size: 0.5em;
}

.demo2 {
    font-size: 4em;
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:example3.css
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2011 年 8 月 */


然後以下面的 HTML 文件載入
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM DEMO</title>
<link type="text/css" rel="stylesheet" title="example3" href="example3.css" />
<script src="document030.js" type="text/javascript"></script>
</head>
<body>
<div class="demo2">There is no spoon.</div>
<input type="button" value="RUN" onclick="run();">
<div>Style Sheet: <ul id="show"></ul></div>
</body>
</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:document030.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2011 年 8 月 -->


瀏覽器 (broswer) 開啟,按下 RUN 後的結果如下



中英文術語對照
樣式表style sheet
物件object
迴圈loop
規則rule
瀏覽器broswer


您可以繼續參考
基本概念
文件物件 document


相關目錄
HTML DOM 快速導覽
JavaScript 教材
首頁


參考資料
https://developer.mozilla.org/en/DOM/document.styleSheets
https://developer.mozilla.org/en/DOM/stylesheet
https://developer.mozilla.org/en/DOM/CSSStyleSheet
https://developer.mozilla.org/en/DOM/CSSRuleList
https://developer.mozilla.org/en/DOM/cssRule
http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-DocumentStyle-styleSheets

沒有留言: