首頁 > web前端 > css教學 > 主體

如何在 JavaScript 中檢索元素的 CSS 屬性值?

Susan Sarandon
發布: 2024-10-23 21:33:30
原創
292 人瀏覽過

How to Retrieve CSS Property Values for Elements in JavaScript?

使用JavaScript 讀取元素的CSS 屬性

問題:

問題:

如何取得值使用JavaScript 的元素的CSS 屬性,考慮到樣式表從外部連結到網頁?

解:

主要有兩種方法:

1。使用 document.styleSheets:

此方法涉及手動迭代 document.styleSheets 數組並解析 CSS 規則以查找所需的屬性。但是,不建議使用這種方法,因為它會佔用大量資源,並且對於大多數場景來說並不實用。

2.建立匹配元素並使用 getComputedStyle:

此方法建立一個與目標元素具有相同 CSS 選擇器的元素,並使用 getComputedStyle 方法檢索屬性值。這種方法的優點是它考慮了所有繼承的樣式和動態應用的任何樣式。

程式碼範例:
<code class="javascript">function getStyleProp(elem, prop){
    if(window.getComputedStyle)
        return window.getComputedStyle(elem, null).getPropertyValue(prop);
    else if(elem.currentStyle)
        return elem.currentStyle[prop]; //IE
}</code>
登入後複製

擷取div 的「顏色」屬性對於「layout」類,使用以下程式碼:
<code class="javascript">window.onload = function(){
    var d = document.createElement("div"); //Create div
    d.className = "layout";                //Set class = "layout"
    alert(getStyleProp(d, "color"));       //Get property value
}</code>
登入後複製

用法:

附加說明:
<code class="javascript">function getNonInlineStyle(elem, prop){
    var style = elem.cssText; //Cache the inline style
    elem.cssText = "";        //Remove all inline styles
    var inheritedPropValue = getStyle(elem, prop); //Get inherited value
    elem.cssText = style;     //Add the inline style back
    return inheritedPropValue;
}</code>
登入後複製
忽略內聯目前元素上的樣式定義,使用getNonInlineStyle 函數:

以上是如何在 JavaScript 中檢索元素的 CSS 屬性值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!