日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DOM与元素节点内联样式

發布時間:2024/4/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DOM与元素节点内联样式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

獲取、設置及移除單個內聯 CSS 屬性


每個 HTML 元素都有個 style 屬性,可以用來插入針對該元素的內聯 CSS 屬性。

<div style='background-color:black; height:100px; width:100px'></div> <script>var divStyle = document.querySelector('div').style;// 輸出一個 CSSStyleDeclaration 對象,僅包含該元素的內聯樣式console.log(divStyle);// setdivStyle.backgroundColor = 'red';// getconsole.log(divStyle.backgroundColor);// remove divStyle.backgroundColor = '';// style 對象是個 CSSStyleDeclaration 對象,它不僅提供了單個 CSS 屬性的訪問方式// 也提供 setProperty()、getPropertyValue()以及removeProperty() 方法// setdivStyle.setProperty('height', '200px');// getconsole.log(divStyle.getPropertyValue('height'));// removedivStyle.removeProperty('height');</script>

注意: style 對象中的屬性名并不含 CSS 屬性名中常用的橫線。轉譯非常簡單,移除橫線并使用駝峰體。其中一個不能直接轉換的 CSS 屬性是 float,由于 float 是 Javascript 的保留字,因此不能用作屬性名。“DOM2級樣式”規范規定樣式對象上相應的屬性名應該是 cssFloat,ff、Safari、opera和chrome都支持這個屬性,而 IE 支持的則是 styleFloat。

獲取、設置及移除所有內聯 CSS 屬性


<div style='background-color:black; height:100px; width:100px'></div> <script>var div = document.querySelector('div'), divStyle = div.style;// 使用 CSSStyleDeclaration 對象的 cssText 屬性,和 getAttribute() 與 setAttribute() 方法// 可以用 Javascript 字符串獲取、設置及移除 style 屬性的整個值(即所有內聯 CSS 屬性)divStyle.cssText = '';divStyle.cssText = 'background-color:red; height:200px; width: 200px';// ---- div.setAttribute('style', 'background-color:blue; height:100px; width:100px');console.log(div.getAttribute('style'));div.removeAttribute('style'); </script>

使用 getComputedStyle() 獲取元素的已計算樣式


style 屬性值只包含通過 HTML 中的 style 屬性定義的 CSS。要獲得元素級聯包括內聯樣式后的 CSS(即從內聯樣式表單,外部樣式表單和瀏覽器樣式表單級聯),你可以用 getComputedStyle()。該方法提供一個只讀的類似 style 的 CSSStyleDeclaration 對象。這個方法接受兩個參數:要取得計算樣式的元素和一個偽元素字符串(例如":hover"),如果不需要偽元素信息,第二個參數可以為 null。

<style>div {background-color: black;width: 100px;} </style><div style='background-color:red; height:100px';></div><script>// document.defaultView 在瀏覽器中即為 window 對象var divStyle = document.defaultView.getComputedStyle(document.querySelector('div'), null);console.log(divStyle.width); // 100px </script>

getComputedStyle() 方法遵照 CSS 聲明優先級(內聯 > style > link),同時它所返回的 CSSStyleDeclaration 對象不能設定任何值,因為它是只讀的。

IE 不支持 getComputedStyle() 方法,但它有一種類似的概念,在 IE 中,每個具有 style 屬性的元素還有一個 currentStyle 屬性,這個屬性是 CSSStyleDeclaration 的實例,包含當前元素全部計算后的樣式,同樣只是可讀。

<style>div {background-color: black;width: 100px;} </style><div id='div'style='background-color:red; height:100px';></div><script>// 我也不知道為啥要用onload,去掉就報錯說找不到對象...window.onload = function() {var divStyle = document.getElementById('div').currentStyle;console.log(divStyle.width); // 100px} </script>

兼容寫法(2016-03-14 add):

function getStyle(ele, type) {if (window.getComputedStyle) return window.getComputedStyle(ele, null)[type];else return ele.currentStyle[type]; }

總結

以上是生活随笔為你收集整理的DOM与元素节点内联样式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。