CSSStyleDeclaration: getPropertyValue() 方法
CSSStyleDeclaration.getPropertyValue() 方法介面返回一個字串,其中包含指定 CSS 屬性的值。
語法
js
getPropertyValue(property)
引數
property(屬性)-
一個字串,表示要檢查的屬性名稱(使用連字元命名法)。
返回值
一個包含屬性值的字串。如果未設定,則返回空字串。
屬性值是動態計算的,而不是在宣告中最初指定的。序列化過程如下:
- 如果
property是一個簡寫屬性,則獲取它對應的所有長格式屬性。請注意,原始樣式表中指定的簡寫屬性在解析時已經被展開。如果這些長格式屬性中至少有一個未宣告,或者它們的!important狀態不同,則結果為空字串。否則,將返回一個擴充套件為相同長格式屬性值列表的屬性值,該簡寫值將省略儘可能多的元件,並根據正式定義中的規範順序重新排序(如果可能)。如果上述任何語法轉換向後相容性較差,則不執行它們。 - 否則,屬性將根據其資料型別進行序列化。每種資料型別都有一個規範表示形式;例如,
<color>值始終使用rgb(R, G, B)或rgba(R, G, B, A)。
本質上,屬性值被規範化,以確保具有相同渲染效果的兩個屬性值即使宣告不同也能相等。
示例
以下 JavaScript 程式碼查詢 CSS 選擇器規則中 margin 屬性的值
js
const declaration = document.styleSheets[0].cssRules[0].style;
const value = declaration.getPropertyValue("margin"); // "1px 2px"
返回的字串可能與元素樣式規範中指定的值不同。例如,這種樣式
css
p#blueish {
color: hsl(250 90 50);
}
js
const declaration = document.styleSheets[0].cssRules[0].style;
const value = declaration.getPropertyValue("color");
將設定一個值 rgb(51, 13, 242);。這在按字串比較樣式時很重要。
規範
| 規範 |
|---|
| CSS 物件模型 (CSSOM) # dom-cssstyledeclaration-getpropertyvalue |
瀏覽器相容性
載入中…