2017-04-22 63 views
0

我理解document.querySelector是如何工作的,以便在.html文件本身中檢索一個css元素,但是如何從我的.css文件中檢索某些東西?我的.css文件的使用JavaScript來檢索css元素而不是html

例子:

canvas { 
background-color: DarkBlue; 
} 

而且我在我的js文件的內容(我知道只會對HTML工作,所以我想知道的CSS等價,我不想在HTML文件中創建樣式,我想保留單獨的CSS文件):

var canvas = document.querySelector('canvas'); 
+0

你想檢索HTML元素的CSS屬性? –

+2

'我明白了document.querySelector是如何工作的,以便在.html文件本身中檢索一個css元素 - 顯然你不明白querySelector做了什麼 - 它使用css選擇器檢索HTML元素 - 而不是「css元素」 - 如果你想獲得元素的「計算」css,可以使用'getComputedStyle'或'getDefaultComputedStyle' - 請參閱文檔以瞭解差異 –

+0

除了僞元素之外,'css'元素並不存在。他們仍然是HTML元素。你只是簡單地選擇他們的班級 –

回答

1

雖然可以,但您不想分析CSS文件。用javascript(即canvas)獲取元素要好得多,然後用JS獲取該元素的樣式。

這是以前回答得非常好這裏提供了很好的功能,使其更容易一些: JavaScript get Styles

function getStyle(oElm, strCssRule){ 
    var strValue = ""; 
    if(document.defaultView && document.defaultView.getComputedStyle){ 
     strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); 
    } 
    else if(oElm.currentStyle){ 
     strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){ 
      return p1.toUpperCase(); 
     }); 
     strValue = oElm.currentStyle[strCssRule]; 
    } 
    return strValue; 
} 

var elementFontSize = getStyle(document.getElementById("container"), "font-size"); 

好運。

相關問題