Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取使用本机Javascript在样式表中设置的CSS样式_Javascript_Html_Css - Fatal编程技术网

获取使用本机Javascript在样式表中设置的CSS样式

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

我遇到了一些问题,需要使用原生JS(而不是JQ)获取元素的样式。但是,使用类似于elem.style.property的内容会返回“”,因为实际的HTML元素上没有设置它

为了使事情更具体,我需要得到一个元素的显示值,但elem.style.display给出“”,但我需要知道“block”或“none”

我明白为什么会这样;我只需要知道用原生JS获得该值的正确方法


谢谢。

除非您直接在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');

正是我需要的。谢谢,这正是我需要的。谢谢