我們可以在編輯html原始碼的時候將css樣式寫死到.css檔案或者html元素的style屬性中,但又時候可能會需要動態地來修改某個元素的樣式。
我這裡介紹兩種方式:修改html元素的style屬性、動態載入link節點。
在使用各種框架之前,必須要知道原生的js到底是怎麼寫的。這裡最直接的辦法就是:
document.getelementbyid('content').style = 'margin-left:0px;position:absolute;';
上面的**給id為content的元素新增了兩個css樣式,都是key-value的形式,以分號(;)分割。這樣的**在firefox瀏覽器中是沒問題的,但可能在ie和chrome中無效,下面介紹另一種方法:
var content = document.getelementbyid('content');
content.style.marginleft = '0px';
content.style.position = 'absolute';
可以看到這種辦法要稍微麻煩點,但沒關係,如果內容很多的話我們依然是可以使用迴圈來搞定(誰讓我們程式設計師都是懶人呢)。另外,要注意的是,這裡的css屬性名和直接在.css檔案中的寫法稍微有點不同,例如:.css檔案中的margin-left在這裡就需要寫成marginleft,取消中劃線(-),用大寫字母來代替。
這裡有另外一篇文章,介紹如何通過js來修改頁面元素。
通過js設定css
firefox等可以使用 var dom document.getelementbyid name dom.setattribute style width 10px height 10px border solid 1px red ie中則必須使用style.csstext var dom doc...
關於通過JS獲取內部樣式 外部樣式 內聯樣式
js獲取內聯樣式 style.getpropertyvalue js獲取內部樣式 外部樣式 currentstyle 需要額外注意的是,只有ie可以用currentstyle,firefox和chrome瀏覽器無法使用currentstyle,需要用到相容性 htmlelement.prototyp...
通過JS修改元素樣式
語法 元素,style.樣式名 樣式值 var box1 document.getelementbyid box1 box1.syle.width 100px 注意 如果css樣式名含有 如 background color,這種名稱在js中不合法,需要將樣式名修改為駝峰命名法,background...