DOM操作之CSS操作
操作行內樣式
寫法:元素節點.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操作