JavaScript样式属性为空

Ant*_*tov 4 javascript css dom properties

我需要计算元素边框的宽度.如果我明确地设置它(通过CSS),那么我可以通过以下方式在JavaScript中访问它:

    element.style.borderWidth
Run Code Online (Sandbox Code Playgroud)

但是,如果指定边框样式属性(而不是'border-width') - >

    border-style: solid
Run Code Online (Sandbox Code Playgroud)

然后该borderWidth属性为空.为什么?我计算宽度的方法如下:

if(element.style.borderWidth == ''){
    borderWidth = (offsetHeight - clientHeight)/2
}
Run Code Online (Sandbox Code Playgroud)

有没有其他方法来计算边框宽度而只设置border-style

Gab*_*oli 10

您可以使用window.getComputedStyle现代浏览器

window.getComputedStyle(element).borderBottomWidth;
Run Code Online (Sandbox Code Playgroud)

对于IE 9之前的版本,您将不得不使用替代方案

element.currentStyle.borderBottomWidth 
Run Code Online (Sandbox Code Playgroud)