使用JavaScript检索css元素而不是html
我了解document.querySelector如何在.html文件中检索css元素,但是如何从.css文件中检索内容呢 my.css文件的示例:使用JavaScript检索css元素而不是html,javascript,html,css,Javascript,Html,Css,我了解document.querySelector如何在.html文件中检索css元素,但是如何从.css文件中检索内容呢 my.css文件的示例: canvas { background-color: DarkBlue; } 还有我的.js文件中的内容(我知道它只适用于HTML,所以我想知道CSS的等效内容,我不想在HTML文件中设置样式,我想保留单独的CSS文件): 您不想解析CSS文件,尽管您可以。最好使用javascript(即画布)获取元素,然后使用JS获取该元素的样式 这在这里得到
canvas {
background-color: DarkBlue;
}
还有我的.js文件中的内容(我知道它只适用于HTML,所以我想知道CSS的等效内容,我不想在HTML文件中设置样式,我想保留单独的CSS文件):
您不想解析CSS文件,尽管您可以。最好使用javascript(即画布)获取元素,然后使用JS获取该元素的样式 这在这里得到了很好的回答,并提供了一个很好的功能,使其变得更简单:
祝你好运。你想检索html元素的css属性吗?
我了解document.querySelector如何在.html文件本身中检索css元素
-显然你不了解querySelector的功能-它使用css选择器检索html元素-而不是“css元素”-如果你想获取“计算”css对于一个元素,使用getComputedStyle
或getDefaultComputedStyle
-请参阅文档以了解区别css
元素除了伪元素之外,实际上并不存在。它们仍然是HTML元素。您只需按其类选择它们
var canvas = document.querySelector('canvas');
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");