我想在javascript中使用window.getComputedStyle()获取字体大小,但它不能
var menu=document.getelementsbyclassname菜单; var a=window.getComputedStylemenu,null.fontSize; var fontSize=parseFloata;我想在javascript中使用window.getComputedStyle()获取字体大小,但它不能,javascript,html,css,Javascript,Html,Css,var menu=document.getelementsbyclassname菜单; var a=window.getComputedStylemenu,null.fontSize; var fontSize=parseFloata; 你好 您应该向.getComputedStyle方法传递一个元素。getElementsByClassName返回一个集合。您需要从集合中选择第一个元素,或者使用.querySelector选择目标元素。还要注意,由.getComputedStyle返回的对象没
你好 您应该向.getComputedStyle方法传递一个元素。getElementsByClassName返回一个集合。您需要从集合中选择第一个元素,或者使用.querySelector选择目标元素。还要注意,由.getComputedStyle返回的对象没有fontSize方法,它是一个属性。还可以使用.getPropertyValue获取特定值:
// select the first .menu element
var menu = document.querySelector(".menu");
var a = window.getComputedStyle(menu, null).getPropertyValue('font-size');
“样式”将提供包含所有可用样式的对象。只需打印它并检查您是否得到它。您的代码有几处错误 首先,, 期望它的第一个参数是单个DOM元素。 返回一个 , 包含一组DOM元素的类似数组的对象。那个 这就是为什么,如果您查看错误控制台,就会看到一条错误消息 Window.getComputedStyle的TypeError:参数1的行不存在 实现接口元素 其次,getComputedStyle返回一个 对象,该对象没有.fontSize方法。然而,它确实有一个 方法,您可以使用该方法获取字体大小 //使用querySelector,它返回单个DOM元素,该元素在 //匹配提供的查询字符串的DOM 让menu=document.querySelector.menu; //如果不是针对伪对象,则可以省略第二个参数 //元素。 让styles=window.getComputedStylemenu; //获取px中的字体大小 让fontSize=styles.getPropertyValue'font-size'; fontSize=parseFloatfontSize; 警告“字体大小=”+fontSize; .菜单{ 字号:1.5em; } MenuHave看看:
var menu = document.querySelector(".menu");
var styles = menu.computedStyleMap();