获取使用本机Javascript在样式表中设置的CSS样式
我遇到了一些问题,需要使用原生JS(而不是JQ)获取元素的样式。但是,使用类似于elem.style.property的内容会返回“”,因为实际的HTML元素上没有设置它 为了使事情更具体,我需要得到一个元素的显示值,但elem.style.display给出“”,但我需要知道“block”或“none” 我明白为什么会这样;我只需要知道用原生JS获得该值的正确方法获取使用本机Javascript在样式表中设置的CSS样式,javascript,html,css,Javascript,Html,Css,我遇到了一些问题,需要使用原生JS(而不是JQ)获取元素的样式。但是,使用类似于elem.style.property的内容会返回“”,因为实际的HTML元素上没有设置它 为了使事情更具体,我需要得到一个元素的显示值,但elem.style.display给出“”,但我需要知道“block”或“none” 我明白为什么会这样;我只需要知道用原生JS获得该值的正确方法 谢谢。除非您直接在HTML中的元素本身上设置了样式,否则您需要使用currentStyle或getComputedStyle,例如
谢谢。除非您直接在HTML中的元素本身上设置了样式,否则您需要使用
currentStyle
或getComputedStyle
,例如:
function getStyle(el,styleProp)
{
if (el.currentStyle)
return el.currentStyle[styleProp];
return document.defaultView.getComputedStyle(el,null)[styleProp];
}
因此,出于您的目的,您可以拨打:
getStyle(element, 'visibility');
除非您直接在HTML中的元素本身上设置了样式,否则您需要使用
currentStyle
或getComputedStyle
,例如:
function getStyle(el,styleProp)
{
if (el.currentStyle)
return el.currentStyle[styleProp];
return document.defaultView.getComputedStyle(el,null)[styleProp];
}
因此,出于您的目的,您可以拨打:
getStyle(element, 'visibility');
正是我需要的。谢谢,这正是我需要的。谢谢