javascript - 如何访问使用外部样式表的 javascript 对象的样式属性?

标签 javascript html css

我有一个外部样式表,里面有这个:

.box {
padding-left:30px;
background-color: #BBFF88;
border-width: 0;
overflow: hidden;
width: 400px;
height: 150px;
}

然后我有这个:

<div id="0" class="box" style="position: absolute; top: 20px; left: 20px;">

然后当我尝试访问 div 的宽度时:

alert(document.getElementById("0").style.width);

出现一个空白的警告框。 如何访问样式表中定义的宽度属性?

注意:div 以正确的宽度显示。

最佳答案

您应该使用 window.getComputedStyle 来获取该值。如果您要查找 CSS 值,我建议不要使用 offsetWidthclientWidth,因为它们返回的宽度包括填充和其他计算。

使用 getComputedStyle,您的代码将是:

var e = document.getElementById('0');
var w = document.defaultView.getComputedStyle(e,null).getPropertyValue("width");

这方面的文档在 MDC 中给出:window.getComputedStyle

关于javascript - 如何访问使用外部样式表的 javascript 对象的样式属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1193409/

相关文章:

javascript - 提交表单时添加CSS javascript

html - 响应头 VS 元标签

css - 悬停链接会使图像从带有 css3 的导航栏中滑出?

css - 如何在一个 css 文件中使用三种不同的 Bootstrap 菜单颜色?

javascript - 如何循环运行angularjs ajax请求但有延迟?

Javascript:为什么这段代码会立即迭代直到数组的最后一个值?

javascript - MVC 使用参数从 View 重定向到 Controller

调整窗口大小时 HTML 类改变位置

javascript - react |无法加载图像 > 找不到模块

javascript - 如何滚动到父 iframe 的顶部按下 iframe 内的按钮?