幾個需求
一、在我們進行登入註冊的時候,當我們的輸入不符合規則,游標離開後會變色來提示使用者
二、頁面換膚,使用者的選擇會改變整個頁面的樣式
可以通過外部引入css檔案,在head中內嵌css,在style屬性中新增css屬性
說明:下面的style對應的是cssstyledeclaretion的乙個物件
內部樣式表
body
pstyle>
我們通過element.sheet.cssrules得到css的列表
列表可以用下標訪問element.sheet.cssrules[1]就是對p
element.sheet.cssrules[1].selectortext對應的是選擇器p
element.sheet.cssrules[1].style對應的就是css宣告color:red;line-height:20px;,是乙個物件
element.sheet.cssrules[1].style.lineheight對應的是屬性值20px,注意屬性名應該寫成駝峰格式
內嵌css
sttyle="color:red;">paragrephp>
element.style.color對應的就是red
對於我們的需求更改輸入框
element.bordercolor = "red"
;element.style
.color="red"
;
這樣會在input上新增乙個內嵌的樣式表,優先順序最高,可以有效改變樣式。
問題對於同樣的需求element.style.csstext = 'border-color:red;color:red;'
可以在一條語句中實現需求,並且和css格式相同。
問題樣式混在邏輯中,js和css混合起來
我們先在css中寫乙個不被引入的樣式.index
然後在js中element.classname += 'index'
這樣就在input元素上增加了class
問題當需要一次更新很多元素的樣式時,比較繁瑣難以實現
比如對頁面進行更換主題,換膚,我們可以使用更換樣式表來解決。
比如從更改為
我們可以用如下語句
$('index').href = "index2.css"
通過這個方式我們還可以增加樣式,刪除樣式來進行批量處理。
element.style 是獲取不到實際樣式的,只能得到行內的style,因此style得到的不一定是實際的樣式。
var style = window.getcomputedstyle(element[,pseudoeit]);
對於我們使用這個方法
window.getcomputedstyle(element).color; //"rgb(155,0,0)"
這個方法在ie9以下不支援,我們使用element.currentstyle做相容
function
getstyle
(element, cssname)else
}
DOM操作 操作樣式
dom操作 操作樣式 1.style 屬性 行內樣式 讀取 dom.style.樣式名稱dom操作 操作樣式 設定 dom.style.樣式名稱 樣式值 說明 所有的樣式名稱都與css相通,但命名規則為駝峰命名法。dom.style.fontsize 30px dom.style.display n...
javascript 操作DOM元素樣式
點語法 dom.style.color 中括號 dom.style color 相同點 1.只能獲取行內樣式,不能獲取內嵌和外部樣式 2.獲取的是帶單位的字串 如 100px 不同點 點語法只能獲取固定的屬性而且不能動態傳參,中括號可以 var h height box.style.h 100px ...
DOM外聯樣式相關操作
dom在對css樣式進行修改的時候,直接使用style會出現無法獲取外聯樣式表樣式的情況,這時需要使用css 樣式宣告物件 cssstyledeclaration 其中有乙個csstext屬性,用於設定或返回樣式宣告文字,csstext 對應的是 html 元素的 style 屬性。語法如下 返回 ...