1. 程式人生 > >DOM操作之CSS操作

DOM操作之CSS操作

規則 相關 dom操作 get ron insert selector lin 對象

操作行內樣式

  寫法:元素節點.style

    得到該元素節點的CSS樣式聲明對象;CSSStyleDeclaration

    元素節點.style.樣式名 -->獲取或設置指定元素的樣式

  註:在通過元素節點.style.樣式名 來獲取或設置元素節點樣式的時候,如果樣式屬性帶中劃線(font-size;backgournd-color),樣式名寫法:fontSize backgroundColor;

    元素節點.style.樣式名 是用來操作行內樣式,如果不是行內樣式,則獲取不到,但是可以設置(因為行內樣式優先級高於內部和外部)

  CSSStyleDeclaration對象的屬性和方法

    cssText 用來獲取css樣式的文本內容

    length 用來獲取當前樣式對象的所有樣式個數

  如果是復合屬性,那麽該復合屬性相關的樣式都會存在個數裏面

  item(下標) 獲取當前樣式對象中指定的樣式名稱

  getPropertyValue(“樣式名”) 獲取指定樣式的值

  setProperty(“樣式名”,”樣式值”,””) 設置指定樣式的值

  removeProperty(“樣式名”) 刪除指定樣式

  元素節點.style.樣式名 和 元素節點.style.getPropertyValue(“樣式名”)區別?

    都是獲取指定元素的指定樣式的值;

    元素節點.style.樣式名寫的時候,對於有中劃線的樣式,需要刪除中劃線,比如font-size -->fontSize

    元素節點.style.getPropertyValue(“樣式名”)參數直接寫樣式名即可;

真正的操作內部或外部樣式 

  1.內部樣式在style標簽中,外部樣式在link標簽引入的,需要先獲取到style標簽或者是link標簽  

    //獲取link標簽
    
var linkEle
= document.getElementsByTagName("link")[0];
    //獲取style
標簽
    
var styleEle
= document.getElementsByTagName("style")[0];

  2.把獲取到的link標簽元素或者style標簽元素轉換為CSSStyleSheet對象元素節點.sheet -->CSSStyleSheet

    var linkSheetObj = linkEle.sheet;
    var styleSheetObj = styleEle.sheet;
 3.CSSStyleSheet對象的屬性和方法

    disable 獲取或設置內部或外部樣式是否禁用,值是boolean類型

    如果該屬性的值默認是false,表示不禁用;如果設置為true,則表示禁用該樣式規則;

    cssRules    獲取內部或外部的樣式規則集合,返回值是CSSRuleList

    removeRule(下標) 刪除指定下標的樣式規則

    insertRule(“樣式規則”,下標) 把指定樣式規則插入到內部或外部樣式中

     var linkRules = linkSheetObj.cssRules;
   var styleRules = styleSheetObj.cssRules;

  4.可以通過下標獲取到某個指定的樣式規則

    CSSRuleList[下標] -->CSSStyleRule 單條樣式規則

    CSSStyleRule 對象的屬性和方法:

      cssText 獲取單條樣式規則的文本內容

      selectorText 獲取樣式規則的選擇器名稱

      style 獲取單條樣式規則的樣式對象,CSSStyleDeclaration

DOM操作之CSS操作