首頁>Program>source

我知道我必须在這裏丢失一些东西,但是我似乎無法使它正常工作。

我已经使用文件標题部分內的樣式標簽為html文件的主體分配了背景色,但是当我尝試通過JavaScript讀取它時,却什麼也没得到:

<html>
<head>
<style>
body { background-color: #ff0; }
</style>
</head>
<body>
<a href="#" onclick='alert(document.body.style.backgroundColor)'>Click Here</a>
</body>
</html>

..但是,如果我以內聯方式分配樣式,則它可以工作:

<html>
<head></head>
<body style='background-color: #ff0;'>
<a href="#" onclick='alert(document.body.style.backgroundColor)'>Click Here</a>
</body>
</html>

我知道我缺少一些基本知識,但是今天我不在頭脑中-谁能告诉我為什麼我的第一種情况不起作用?

谢谢

最新回復
  • 12天前
    1 #

    The style DOM元素的屬性仅引用该元素的inline樣式。

    根据瀏覽器,您可以使用DOM CSS来获取元素的實際樣式

    在firefox中,例如:

    var body = document.getElementsByTagName("body")[0];
    var bg = window.getComputedStyle(body, null).backgroundColor;
    

    或在IE中:

    var body = document.getElementsByTagName("body")[0];
    var bg = body.currentStyle.backgroundColor;
    

  • 12天前
    2 #

    在這種情况下,您需要 computedStyle 在元素上作為 style 屬性尚未設置.在IE中,您需要檢查元素的 currentStyle 屬性,通過類似這樣的方法。

  • 12天前
    3 #

    這裏是您可以使用的功能(無需使用框架),该功能由InsDel在此處發佈:

    function getStyle(className) {
        var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules
        for(var x=0;x<classes.length;x++) {
            if(classes[x].selectorText==className) {
                    (classes[x].cssText) ? alert(classes[x].cssText) : alert(classes[x].style.cssText);
            }
        }
    }
    getStyle('.test')
    

  • 12天前
    4 #

    這就是CSS的工作方式.除了瀏覽器特定的實用程式之外,没有一種簡單明了的方法来获取Java內元素的計算出的CSS屬性,

  • c++:如何使用boost預處理器生成訪問器?
  • windows:需要从ASPnet在服務器中執行* exe