为什么我想要通过getComputedStyle获取css里面高度的时候,会说不是element类型,这是什么意思呀
ie9以下 不支持window.getComputedStyle() 但是可以用element.currentStyle
function getStyle(element, att){
if(window.getComputedStyle){
return window.getComputedStyle(element)[att];
}else{
//针对IE9以下兼容
return element.currentStyle[att];
}
}
var dom = document.getElementsByClassName("sports_menu");
console.log(getStyle(dom),'height'));
我通过您的这段代码,边敲边想,做了一遍之后,发现已经不报错了,但是高度还是没有显示出来,这个是什么原因呀,会不会和getComputedStyle第二个属性有关系呀
@nbl2012:
getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式声明对象([object CSSStyleDeclaration]),是只读的。如果你想获取到'sports_menu'的高度有更简单的方法
要是使用jquery就27行的height()方法,要是使用js就28行的offsetHeight
@nbl2012: console.log(getStyle(dom),'height'));第一次答题输出的地方dom后多了个')'😄
getComputedStyle() 的第一个参数应该是某个元素,而你传入的 dom 是个元素集合。