JS获取标签最终样式

我今天写点击隐藏子菜单时,获取不到obj.style.display属性,经过查找资料,发现是因为这样子只能获取内联样式的原因。

要获取最终样式,IE中可以使用currentStyle,在chrome等浏览器中可以使用document.defaultView。代码如下:

function getFinalStyle(obj, styleName){
	if (obj.currentStyle){
		var y = obj.currentStyle[styleName];
		console.log("currentStyle");
	}
	else if (document.defaultView){
		var y = document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleName);
		console.log("getComputedStyle");
	}
	return y;
}

document.defaultView用来判断是否有这个对象。也可以换成window.getComputedStyle。

写了一段代码放在浏览器中测试了一下。是可以的。









最近经常遇到浏览器不兼容的问题。真心痛苦啊

你可能感兴趣的:(JS)